home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 25 / AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso / PublicDomain / Spiele / GalagawarsV1_5 / GWars / Galagawars.English.asc < prev    next >
Text File  |  1999-11-13  |  107KB  |  3,590 lines

  1. NoCli
  2. WBStartup
  3.  
  4. ;
  5. ; Galaga Wars
  6. ;
  7. ; contact:
  8. ;
  9. ; Michael Rosskopf
  10. ; Saarlandstrasse 25
  11. ; 44866 Bochum
  12. ; Germany
  13. ;
  14. ; Tel.:   +49-2327-31546
  15. ; E-mail: Michael_Rosskopf@gmx.de
  16. ;
  17. ; -------------------------------
  18. ;
  19. ; Translated into English (kinda) by
  20. ; Wiremu Te Kani
  21. ; E-Mail:  tekani@yahoo.com
  22. ;         wtekani@netscape.net
  23.  
  24. .Initialisation : ; Initialisation
  25.  
  26. ; Some constants
  27. #interleavemod=320/8
  28.  
  29. ; Taken from Starfield demo 0.01 by FISH 1996
  30.  
  31. DEFTYPE .l  a
  32. DEFTYPE .l  x,y,cnt
  33. DEFTYPE .l  bmapx,bmapy
  34. DEFTYPE .w  *coppnt
  35.  
  36. ;; Taken from Blitzlibs:bb2objtypes.bb2
  37. ;NEWTYPE.sprite ;size=16
  38. ;  _data.l      ;00: NULL if no sprite present, else pointer to sprite data
  39. ;  _height.w    ;04: height of sprite, in pixels, plus an extra 1
  40. ;  _channels.w  ;06: number of sprite channels required to display sprite
  41. ;  _flags.w     ;08: low byte = pix width of sprite, hi bit = 1 if 16 colour sprite
  42. ;  _nextoff.w   ;10: difference in bytes between seperate sprites for separate sprite channels
  43. ;  _xhandle.w   ;12: horizontal handle for sprite
  44. ;  _yhandle.w   ;14: vertical handle for sprite
  45. ;End NEWTYPE
  46.  
  47. Statement init_star_data{spr.l,spd.l}
  48.     UNLK    a4
  49.     MOVE.l  d0,a0               ; Move address of sprite data to addr reg
  50.     MOVE.l  d1,a1               ; Move address of speed data to addr reg
  51.     MOVE.l  #48,d0              ; Start line of sprites on display
  52.     MOVE.l  #49,d1              ; Stop line of sprite on display
  53.     MOVE.l  #15,d2              ; Counter = 24 times
  54.     MOVE.l  #0,d3               ; Spread value
  55. loop1:
  56.     MOVE.b  d0,(a0)             ; Set vert start position
  57.     ADD.l   #1,a0               ; ----Next byte----
  58.     MOVE.b  d3,(a0)             ; Set horiz start position
  59.     ADD.l   #1,a0               ; ----Next byte----
  60.     MOVE.b  d1,(a0)             ; Set vertical stop pos
  61.     ADD.l   #1,a0               ; ----Next byte----
  62.     MOVE.b  #0,(a0)             ; Set byte to 0
  63.     MOVE.l  d0,d4               ; Copy vert pos to d4
  64.     AND.w   #$ff00,d4           ; Are we over the 256 boundary?
  65.     BEQ     l1                  ; If not skip...
  66.     MOVE.b  #6,(a0)             ; ...Move %00000110
  67. l1: ADD.l   #1,a0               ; ----Next byte----
  68.     CLR d4
  69.     MOVE.l  #$00000020,d4       ; Sprite image 2 planes (!!change this!!)
  70.     MOVE.l  d4,(a0)             ; Set sprite image
  71.     ADD.l   #4,a0               ; ----Next sprite----
  72.     ADD.l   #16,d0               ; Vert start pos += 8
  73.     ADD.l   #16,d1               ; Vert stop pos += 8
  74.     ADD.b   #179,d3             ; Next spread value (17 seems good)
  75.     MOVE.w  (a1)+,d4
  76.     ADD.b   d4,d3               ; add the speed. (This seems better)
  77.     DBF     d2,loop1
  78.     RTS
  79. End Statement
  80. Statement scroll_stars_x{spr.l,speed.l}
  81.     UNLK    a4
  82.     MOVE.l  d0,a0               ; Move address of sprite data to addr reg
  83.     MOVE.l  d1,d3               ; Move speed to d3 reg
  84.     ADD.l   #1,a0               ; Push sprite data addr to point to horiz pos
  85.     MOVE.l  #15,d2              ; Counter = 24 times
  86. loop2:
  87.     MOVE.b  (a0),d0             ; Get current horizonal pos
  88.     ADD.b   d3,d0               ; Add speed
  89.     MOVE.b  d0,(a0)             ; Store new horiz pos
  90.     ADD.l   #8,a0               ; Next sprite image
  91.     DBF     d2,loop2
  92.     RTS
  93. End Statement
  94. Statement scroll_stars_y_down{spr.l,speed.l}
  95.     UNLK    a4
  96.     MOVE.l  d0,a0               ; Move address of sprite data to addr reg
  97.     MOVE.l  a0,a2               ; Copy of the sprite data address
  98.     MOVE.l  d1,d3               ; Move speed to d3 reg
  99.     MOVE.b  (a0),d0
  100.     ADD.b   d3,d0
  101.     AND.b   #$f0,d0
  102.     MOVE.b  (a0),d1
  103.     AND.b   #$f0,d1
  104.     SUB.b   d1,d0
  105.     MOVE.b  d0,temp_data1
  106.     MOVE.l  #15,d2              ; Counter = 24 times
  107. loop3:
  108.     MOVE.b  (a0),d0             ; Get current vert start pos
  109.     ADD.b   d3,d0               ;   Add speed
  110.     AND.b   #$f,d0             ;   Mask out all but lower 3 bits
  111.     MOVE.b  (a0),d4             ; Get current vert start pos
  112.     AND.b   #$f0,d4             ;   Mask out lower 3 bits
  113.     ADD.b   d4,d0               ;   Add the d0
  114.     MOVE.b  d0,(a0)             ; Store new vert start pos
  115.     ADD.l   #2,a0               ; ----Move to vert stop pos
  116.     ADD.b   #1,d0               ; Add 1 to vert start pos
  117.     MOVE.b  d0,(a0)             ; Store new vert stop pos
  118.     ADD.l   #6,a0               ; Next sprite image
  119.     DBF     d2,loop3
  120.     MOVE.b  temp_data1,d0       ; Get vert pos
  121.     CMP.b   #0,d0               ; Zero...?
  122.     BEQ     lab1                ; ...if not - leave
  123.     MOVE.l  a2,a0               ; Set addr of sprite data
  124.     ADD.l   #8*15+1,a0          ;   Add offset for image 24 + horiz pos
  125.     MOVE.b  (a0),d0             ; Get horiz pos at image 24
  126.     MOVE.b  d0,temp_data1       ;   Store in temp
  127.     MOVE.l  a0,a1               ; a0=source , a1=dest
  128.     SUB.l   #8,a0               ; Set source to image 23
  129.     MOVE.l  #14,d2              ; Counter 23 times
  130. loop4:
  131.     MOVE.b  (a0),d0             ; Get horiz pos
  132.     MOVE.b  d0,(a1)             ; Store in next image
  133.     SUB.l   #8,a0               ; Prev source image
  134.     SUB.l   #8,a1               ; Prev dest image
  135.     DBF     d2,loop4
  136.     MOVE.l  a2,a0               ; Get addr of sprite data
  137.     ADD.l   #1,a0               ; Offset for horiz pos
  138.     MOVE.b  temp_data1,d0       ; Get temp data
  139.     MOVE.b  d0,(a0)             ; Place in first image
  140. lab1:
  141.     RTS
  142. temp_data1:
  143.     Dc.l    0
  144. End Statement
  145. Statement display_star { spr.l }
  146.     DEFTYPE .sprite *sprpnt
  147.     DEFTYPE .l      a
  148.     *sprpnt=Addr Sprite (spr) : a=*sprpnt\_height : *sprpnt\_height=1
  149.     DisplaySprite 0,spr,160,0,spr : *sprpnt\_height=a
  150. End Statement
  151.  
  152.  
  153. Statement PLoc{x,y,a$}
  154. Colour 1
  155. Locate x,y
  156. Print a$
  157. End Statement
  158.  
  159. Statement patchcookie{n}   ;Fix cookie for "1-plane" 32 col shapes
  160. *s.shape=Addr Shape(n)
  161. cook.l=*s\_cookie
  162.  
  163. hg=0:Repeat
  164.   width=0:Repeat
  165.  
  166.     cval.w=0
  167.     i=0:Repeat
  168.       cval | Peek.w(cook + width + i * *s\_ebwidth)
  169.     i+1:Until i=5
  170.  
  171.     i=0:Repeat
  172.       Poke.w(cook + width + i * *s\_ebwidth),cval
  173.     i+1:Until i=5
  174.  
  175.   width+2:Until width=*s\_ebwidth
  176.   hg+5
  177.   cook+(*s\_ebwidth LSL2)+*s\_ebwidth
  178. Until hg > *s\_pixheight-5
  179. End Statement
  180.  
  181. ; patchbitmap{source,destination}
  182. ;
  183. ; converts big 1-plane bitmap into 5-plane interleaved bitmap
  184. ; initialises a new pseudo-bitmap to be used in the conventional
  185. ; fashion (destination) and setting the 1-plane bitmap (source)
  186. ; up for display onscreen.
  187.  
  188. ; If you want to use interleaved system, use the source. If you
  189. ; want standard planar bitmap use destination.
  190.  
  191. Statement patchbitmap{s.b,d.b}
  192. ;now cludge 5-plane version
  193. *bit1.bitmap = Addr BitMap(s)
  194. CludgeBitMap d,320,256,5,*bit1\_data
  195. *bit0.bitmap = Addr BitMap(d)
  196. For i=1 To 4
  197.   *bit0\_data[i] = *bit0\_data[i-1] + #interleavemod
  198. Next
  199. *bit0\_bitplanemod=#interleavemod
  200. *bit0\_ebwidth=#interleavemod*5
  201. End Statement
  202.  
  203.  
  204.  
  205.  
  206. NEWTYPE .Ship  ; ship
  207.  
  208. ; Variables for Pictexpenditure
  209.   SPict.b      ; Ship no.
  210.   WPict.b      ; Bullet no.
  211.   SWidth.b     ; Ship Width
  212.   SHeight.b    ; Ship Height
  213.   WWidth.b     ; Bullet Width
  214.   WHeight.b    ; Bullet Height
  215.   WXplus.b     ; Times ships needs to get hit (?)
  216.   WeaponDb.b        ; Flickery bullets (0=off; 1=on)
  217.  
  218. ; Ship and Bullet characteristics
  219.   Sx.w         ; bullet X-Position
  220.   Sy.w         ; bullet Y-Position
  221.   WStatus.b[2] ; Weapon Status (0=Not firing, 1=Firing)
  222.   Wx.w[2]      ; Salvo X-Position
  223.   Wy.w[2]      ; Salvo Y-Position
  224.   SSpeed.b     ; Bulletspeed
  225.   WSpeed.b     ; Salvospeed
  226.   WPause.w     ; Pause between every Salvo
  227.   Shield.b     ; Sheilds
  228.   Damage.b     ; Damage that weapon causes
  229.  
  230. End NEWTYPE
  231.  
  232. NEWTYPE .Nasty  ; Baddies
  233.  
  234. ; Screen Variables
  235.   SPict.b      ; Ship No
  236.   SWidth.b     ; Ship width
  237.   SHeight.b    ; Ship height
  238.   WXplus.b     ; postponement of the Weaponshapes opposite for Shipshapes
  239.   WeaponDb.b    ; Exhaust trail shimmering (0=off; 1=on)
  240.  
  241. ; Baddie Characteristics (Nasty)
  242.   SMovTyp.b    ; 0=Normal movement, 1=Fly to the Bereich, 2=Kamikaze, 3=Follow Headtrail
  243.   Intel.b      ; 0=No Intelligence, 1=Firing only when strike possible
  244.   WeaponNr1.b   ; Nr of the Ship belonging to Weapon 1
  245.   WeaponNr2.b   ; Nr of the Ship belonging to Weapon 2
  246.   WeaponNr3.b   ; Nr of the Ship belonging to Weapon 3
  247.   WeaponNr4.b   ; Nr of the Ship belonging to Weapon 4
  248.   Shield.w     ; Sheilds
  249.   Points.w     ; Score for shooting down the ship
  250.  
  251. ; Admins Variables
  252.   SStatus.b     ; Status of the Ships (0=not vorhanden, 1=on display)
  253.   Sx.w          ; X-Position of the Shipes on display
  254.   Sy.w          ; Y-Position of the Shipes on display
  255.   SSpeedX.b     ; Speed in X-direction
  256.   SSpeedY.b     ; Speed in Y-direction
  257.   SBorderX1.w   ; X-coordinate, bei the Ship course movement (links)
  258.   SBorderX2.w   ; X-coordinate, bei the Ship course movement (rechts)
  259.   SBorderY1.w   ; Y-coordinate, bei the Ship course movement (oben)
  260.   SBorderY2.w   ; Y-coordinate, bei the Ship course movement (unten)
  261.   trailNr.b     ; Nr for the Headtrail that the Ship follows
  262.   trailSek.b    ; Actual pathway
  263.   trailCounter.w; Actual Pointage of the pathway
  264.  
  265. End NEWTYPE
  266.  
  267. NEWTYPE .Shot
  268.  
  269.   Pict.b       ; Nr of the Shot-Shapes
  270.   Width.b      ; Width of the Shots-Shapes
  271.   Height.b     ; Height of the Shot-Shapes
  272.   WeaponDb.b        ; Flimmern of the Shots (0=aus; 1=an)
  273.   Typ.b        ; 0=Nach vorne gefire, 1=Gezielt gefire, 2=Gelenkt
  274.   Status.b     ; Shot vorhanden oder nicht
  275.   x.q          ; X-Position of the Shots on dem display
  276.   y.q          ; Y-Position of the Shots on dem display
  277.   SpeedX.q     ; speed in X-direction
  278.   SpeedY.q     ; speed in Y-direction
  279.  
  280. End NEWTYPE
  281.  
  282. NEWTYPE .trail
  283.  
  284.   x.w           ; Pointer X-Position
  285.   y.w           ; Pointer Y-Position
  286.   Counter.w[20] ; Counting down until direction change
  287.   SpeedX.b[20]  ; speed in X-direction
  288.   SpeedY.b[20]  ; speed in Y-direction
  289.  
  290. End NEWTYPE
  291.  
  292. NEWTYPE .Level
  293.  
  294.   R.b               ; Red-Word
  295.   G.b               ; Green-Word
  296.   B.b               ; Blue-Word
  297.   Counter.b         ; Place in Level
  298.   NastyComing.b[11] ; Nasties in current attackwave
  299.   NastyKilled.b[11] ; Nasties destroyed in attackwave
  300.   NastyCount.b[11]  ; amount of Nasties on screen at one time
  301.   ShotCount.b[11]   ; amount of shots on screen at one time
  302.   NastyType1.b[11]  ; Nr of the NastyType1 in attackwaves
  303.   NastyType2.b[11]  ; Nr of the NastyType2 in attackwaves
  304.   NastyType3.b[11]  ; Nr of the NastyType3 in attackwaves
  305.   NastyType4.b[11]  ; Nr of the NastyType4 in attackwaves
  306.   NastySpace.b[11]  ; Distances between each Nasty
  307.   NShotSpace.b[11]  ; Probability for Nastyshots
  308.  
  309. End NEWTYPE
  310.  
  311. ; Highscore array
  312.  
  313. Dim HighscoreNamen$(5)
  314. Dim HighscorePoints.l(5)
  315. Dim HighscoreLevel.b(5)
  316.  
  317. For i.b=0 To 4
  318. MaxLen HighscoreNamen$(i)=8
  319. Next i
  320.  
  321. ; Highscore
  322.   Zugriff.b=OpenFile(0,"Galagawars.Highscore")
  323.   Fields 0,HighscoreNamen$(0)
  324.   Fields 0,HighscoreNamen$(1)
  325.   Fields 0,HighscoreNamen$(2)
  326.   Fields 0,HighscoreNamen$(3)
  327.   Fields 0,HighscoreNamen$(4)
  328.   Fields 0,HighscorePoints(0)
  329.   Fields 0,HighscorePoints(1)
  330.   Fields 0,HighscorePoints(2)
  331.   Fields 0,HighscorePoints(3)
  332.   Fields 0,HighscorePoints(4)
  333.   Fields 0,HighscoreLevel(0)
  334.   Fields 0,HighscoreLevel(1)
  335.   Fields 0,HighscoreLevel(2)
  336.   Fields 0,HighscoreLevel(3)
  337.   Fields 0,HighscoreLevel(4)
  338.   Get 0,0
  339.   CloseFile 0
  340.  
  341. ; Shapeloader
  342. .Shapeloader
  343. DecodeShapes 0,110,?b_allshapes
  344. For xxx=0 To 110
  345.   If xxx<>43
  346.     patchcookie{xxx}
  347.   EndIf
  348. Next xxx
  349.  
  350. DecodePalette 0,?bpalt0
  351. DecodePalette 1,?bpalt1
  352. InitPalette 2,31
  353.  
  354. ; Soundloader
  355. CludgeSound 0,?s0
  356. CludgeSound 1,?s1
  357. CludgeSound 2,?s2
  358. CludgeSound 3,?s3
  359. CludgeSound 4,?s4
  360. CludgeSound 5,?s5
  361. CludgeSound 6,?s6
  362. CludgeSound 7,?s7
  363. CludgeSound 8,?s8
  364. CludgeSound 9,?s9
  365. CludgeSound 10,?sa
  366. CludgeSound 11,?sb
  367. CludgeSound 12,?sc
  368. CludgeSound 13,?sd
  369. CludgeSound 14,?se
  370.  
  371. ;LoadBlitzFont 0,"2001.font"
  372.  
  373. .VarShipe:       ; Ship variables
  374.  
  375. Dim S.Ship(6)
  376.  
  377. S(1)\  SPict=25
  378. S(1)\  WPict=30
  379. S(1)\ SWidth=ShapeWidth(S(1)\SPict)
  380. S(1)\  SHeight=ShapeHeight(S(1)\SPict)/5
  381. S(1)\ WWidth=ShapeWidth(S(1)\WPict)
  382. S(1)\  WHeight=ShapeHeight(S(1)\WPict)/5
  383. S(1)\ SSpeed=5
  384. S(1)\ WSpeed=10
  385. S(1)\ WPause=11
  386. S(1)\ Shield=20
  387. S(1)\Damage=2
  388. S(1)\ WXplus=4
  389. S(1)\    WeaponDb=0
  390.  
  391. S(2)\  SPict=26
  392. S(2)\  WPict=31
  393. S(2)\ SWidth=ShapeWidth(S(2)\SPict)
  394. S(2)\  SHeight=ShapeHeight(S(2)\SPict)/5
  395. S(2)\ WWidth=ShapeWidth(S(2)\WPict)
  396. S(2)\  WHeight=ShapeHeight(S(2)\WPict)/5
  397. S(2)\ SSpeed=4
  398. S(2)\ WSpeed=10
  399. S(2)\ WPause=9
  400. S(2)\ Shield=40
  401. S(2)\Damage=4
  402. S(2)\ WXplus=0
  403. S(2)\    WeaponDb=0
  404.  
  405. S(3)\  SPict=27
  406. S(3)\  WPict=32
  407. S(3)\ SWidth=ShapeWidth(S(3)\SPict)
  408. S(3)\  SHeight=ShapeHeight(S(3)\SPict)/5
  409. S(3)\ WWidth=ShapeWidth(S(3)\WPict)
  410. S(3)\  WHeight=ShapeHeight(S(3)\WPict)/5
  411. S(3)\ SSpeed=3
  412. S(3)\ WSpeed=10
  413. S(3)\ WPause=10
  414. S(3)\ Shield=80
  415. S(3)\Damage=8
  416. S(3)\ WXplus=2
  417. S(3)\    WeaponDb=0
  418.  
  419. S(4)\  SPict=28
  420. S(4)\  WPict=33
  421. S(4)\ SWidth=ShapeWidth(S(4)\SPict)
  422. S(4)\  SHeight=ShapeHeight(S(4)\SPict)/5
  423. S(4)\ WWidth=ShapeWidth(S(4)\WPict)
  424. S(4)\  WHeight=ShapeHeight(S(4)\WPict)/5
  425. S(4)\ SSpeed=4
  426. S(4)\ WSpeed=12
  427. S(4)\ WPause=8
  428. S(4)\ Shield=60
  429. S(4)\Damage=6
  430. S(4)\ WXplus=8
  431. S(4)\    WeaponDb=0
  432.  
  433. S(5)\  SPict=29
  434. S(5)\  WPict=34
  435. S(5)\ SWidth=ShapeWidth(S(5)\SPict)
  436. S(5)\  SHeight=ShapeHeight(S(5)\SPict)/5
  437. S(5)\ WWidth=ShapeWidth(S(5)\WPict)
  438. S(5)\  WHeight=ShapeHeight(S(5)\WPict)/5
  439. S(5)\ SSpeed=3
  440. S(5)\ WSpeed=8
  441. S(5)\ WPause=10
  442. S(5)\ Shield=99
  443. S(5)\Damage=12
  444. S(5)\ WXplus=10
  445. S(5)\    WeaponDb=1
  446.  
  447. ; Specifications for meanies bullets
  448.  
  449. .VarNstshooters:              ; VarMeanyBullets
  450.  
  451. Dim Nastyshooters.Shot(28) ; Meanybullets.bullet(28)
  452.  
  453. ; Bombe1
  454. Nastyshooters(0)\  Pict=45
  455. Nastyshooters(0)\ Width=ShapeWidth(Nastyshooters(0)\Pict)
  456. Nastyshooters(0)\  Height=ShapeHeight(Nastyshooters(0)\Pict)/5
  457. Nastyshooters(0)\   WeaponDb=0
  458. Nastyshooters(0)\   Typ=0
  459. Nastyshooters(0)\SpeedX=0
  460. Nastyshooters(0)\SpeedY=4
  461.  
  462. ; Drohne3Shot
  463. Nastyshooters(1)\  Pict=47
  464. Nastyshooters(1)\ Width=ShapeWidth(Nastyshooters(1)\Pict)
  465. Nastyshooters(1)\  Height=ShapeHeight(Nastyshooters(1)\Pict)/5
  466. Nastyshooters(1)\   WeaponDb=0
  467. Nastyshooters(1)\   Typ=0
  468. Nastyshooters(1)\SpeedX=1
  469. Nastyshooters(1)\SpeedY=3
  470.  
  471. ; ZielShot1
  472. Nastyshooters(2)\  Pict=48
  473. Nastyshooters(2)\ Width=ShapeWidth(Nastyshooters(2)\Pict)
  474. Nastyshooters(2)\  Height=ShapeHeight(Nastyshooters(2)\Pict)/5
  475. Nastyshooters(2)\   WeaponDb=0
  476. Nastyshooters(2)\   Typ=1
  477. Nastyshooters(2)\SpeedX=3
  478. Nastyshooters(2)\SpeedY=3
  479.  
  480. ; EndNasty1Shot
  481. Nastyshooters(3)\  Pict=49
  482. Nastyshooters(3)\ Width=ShapeWidth(Nastyshooters(3)\Pict)
  483. Nastyshooters(3)\  Height=ShapeHeight(Nastyshooters(3)\Pict)/5
  484. Nastyshooters(3)\   WeaponDb=0
  485. Nastyshooters(3)\   Typ=0
  486. Nastyshooters(3)\SpeedX=3
  487. Nastyshooters(3)\SpeedY=3
  488.  
  489. ; Jaeger1Shot
  490. Nastyshooters(4)\  Pict=51
  491. Nastyshooters(4)\ Width=ShapeWidth(Nastyshooters(4)\Pict)
  492. Nastyshooters(4)\  Height=ShapeHeight(Nastyshooters(4)\Pict)/5
  493. Nastyshooters(4)\   WeaponDb=0
  494. Nastyshooters(4)\   Typ=0
  495. Nastyshooters(4)\SpeedX=0
  496. Nastyshooters(4)\SpeedY=4
  497.  
  498. ; Bombe2
  499. Nastyshooters(5)\  Pict=46
  500. Nastyshooters(5)\ Width=ShapeWidth(Nastyshooters(5)\Pict)
  501. Nastyshooters(5)\  Height=ShapeHeight(Nastyshooters(5)\Pict)/5
  502. Nastyshooters(5)\   WeaponDb=0
  503. Nastyshooters(5)\   Typ=0
  504. Nastyshooters(5)\SpeedX=0
  505. Nastyshooters(5)\SpeedY=4
  506.  
  507. ; Alienjaeger1Shot
  508. Nastyshooters(6)\  Pict=56
  509. Nastyshooters(6)\ Width=ShapeWidth(Nastyshooters(6)\Pict)
  510. Nastyshooters(6)\  Height=ShapeHeight(Nastyshooters(6)\Pict)/5
  511. Nastyshooters(6)\   WeaponDb=0
  512. Nastyshooters(6)\   Typ=0
  513. Nastyshooters(6)\SpeedX=0
  514. Nastyshooters(6)\SpeedY=4
  515.  
  516. ; Alienjaeger2Shot
  517. Nastyshooters(7)\  Pict=57
  518. Nastyshooters(7)\ Width=ShapeWidth(Nastyshooters(7)\Pict)
  519. Nastyshooters(7)\  Height=ShapeHeight(Nastyshooters(7)\Pict)/5
  520. Nastyshooters(7)\   WeaponDb=0
  521. Nastyshooters(7)\   Typ=0
  522. Nastyshooters(7)\SpeedX=0
  523. Nastyshooters(7)\SpeedY=4
  524.  
  525. ; Alienjaeger3Shot
  526. Nastyshooters(8)\  Pict=58
  527. Nastyshooters(8)\ Width=ShapeWidth(Nastyshooters(8)\Pict)
  528. Nastyshooters(8)\  Height=ShapeHeight(Nastyshooters(8)\Pict)/5
  529. Nastyshooters(8)\   WeaponDb=0
  530. Nastyshooters(8)\   Typ=0
  531. Nastyshooters(8)\SpeedX=0
  532. Nastyshooters(8)\SpeedY=4
  533.  
  534. ; EndNasty2Shot
  535. Nastyshooters(9)\  Pict=60
  536. Nastyshooters(9)\ Width=ShapeWidth(Nastyshooters(9)\Pict)
  537. Nastyshooters(9)\  Height=ShapeHeight(Nastyshooters(9)\Pict)/5
  538. Nastyshooters(9)\   WeaponDb=0
  539. Nastyshooters(9)\   Typ=0
  540. Nastyshooters(9)\SpeedX=5
  541. Nastyshooters(9)\SpeedY=4
  542.  
  543. ; AlienDrohne2Shot
  544. Nastyshooters(10)\  Pict=62
  545. Nastyshooters(10)\ Width=ShapeWidth(Nastyshooters(10)\Pict)
  546. Nastyshooters(10)\  Height=ShapeHeight(Nastyshooters(10)\Pict)/5
  547. Nastyshooters(10)\   WeaponDb=0
  548. Nastyshooters(10)\   Typ=0
  549. Nastyshooters(10)\SpeedX=2
  550. Nastyshooters(10)\SpeedY=4
  551.  
  552. ; Jaeger2Shot
  553. Nastyshooters(11)\  Pict=71
  554. Nastyshooters(11)\ Width=ShapeWidth(Nastyshooters(11)\Pict)
  555. Nastyshooters(11)\  Height=ShapeHeight(Nastyshooters(11)\Pict)/5
  556. Nastyshooters(11)\   WeaponDb=0
  557. Nastyshooters(11)\   Typ=0
  558. Nastyshooters(11)\SpeedX=0
  559. Nastyshooters(11)\SpeedY=8
  560.  
  561. ; RaketenJaegerShot
  562. Nastyshooters(12)\  Pict=72
  563. Nastyshooters(12)\ Width=ShapeWidth(Nastyshooters(12)\Pict)
  564. Nastyshooters(12)\  Height=ShapeHeight(Nastyshooters(12)\Pict)/5
  565. Nastyshooters(12)\   WeaponDb=1
  566. Nastyshooters(12)\   Typ=0
  567. Nastyshooters(12)\SpeedX=4
  568. Nastyshooters(12)\SpeedY=4
  569.  
  570. ; BomberShot
  571. Nastyshooters(13)\  Pict=74
  572. Nastyshooters(13)\ Width=ShapeWidth(Nastyshooters(13)\Pict)
  573. Nastyshooters(13)\  Height=ShapeHeight(Nastyshooters(13)\Pict)/5
  574. Nastyshooters(13)\   WeaponDb=1
  575. Nastyshooters(13)\   Typ=0
  576. Nastyshooters(13)\SpeedX=2
  577. Nastyshooters(13)\SpeedY=3
  578.  
  579. ; Jaeger3Shot
  580. Nastyshooters(14)\  Pict=76
  581. Nastyshooters(14)\ Width=ShapeWidth(Nastyshooters(14)\Pict)
  582. Nastyshooters(14)\  Height=ShapeHeight(Nastyshooters(14)\Pict)/5
  583. Nastyshooters(14)\   WeaponDb=0
  584. Nastyshooters(14)\   Typ=0
  585. Nastyshooters(14)\SpeedX=0
  586. Nastyshooters(14)\SpeedY=4
  587.  
  588. ; KanoneShot
  589. Nastyshooters(15)\  Pict=77
  590. Nastyshooters(15)\ Width=ShapeWidth(Nastyshooters(15)\Pict)
  591. Nastyshooters(15)\  Height=ShapeHeight(Nastyshooters(15)\Pict)/5
  592. Nastyshooters(15)\   WeaponDb=0
  593. Nastyshooters(15)\   Typ=0
  594. Nastyshooters(15)\SpeedX=0
  595. Nastyshooters(15)\SpeedY=3
  596.  
  597. ; AsteroidShot
  598. Nastyshooters(16)\  Pict=78
  599. Nastyshooters(16)\ Width=ShapeWidth(Nastyshooters(16)\Pict)
  600. Nastyshooters(16)\  Height=ShapeHeight(Nastyshooters(16)\Pict)/5
  601. Nastyshooters(16)\   WeaponDb=0
  602. Nastyshooters(16)\   Typ=0
  603. Nastyshooters(16)\SpeedX=12
  604. Nastyshooters(16)\SpeedY=12
  605.  
  606. ; ZielShot2
  607. Nastyshooters(17)\  Pict=79
  608. Nastyshooters(17)\ Width=ShapeWidth(Nastyshooters(17)\Pict)
  609. Nastyshooters(17)\  Height=ShapeHeight(Nastyshooters(17)\Pict)/5
  610. Nastyshooters(17)\   WeaponDb=1
  611. Nastyshooters(17)\   Typ=1
  612. Nastyshooters(17)\SpeedX=4
  613. Nastyshooters(17)\SpeedY=4
  614.  
  615. ; ZielShot3
  616. Nastyshooters(18)\  Pict=88
  617. Nastyshooters(18)\ Width=ShapeWidth(Nastyshooters(18)\Pict)
  618. Nastyshooters(18)\  Height=ShapeHeight(Nastyshooters(18)\Pict)/5
  619. Nastyshooters(18)\   WeaponDb=0
  620. Nastyshooters(18)\   Typ=1
  621. Nastyshooters(18)\SpeedX=3
  622. Nastyshooters(18)\SpeedY=3
  623.  
  624. ; PlantAlien1Shot
  625. Nastyshooters(19)\  Pict=89
  626. Nastyshooters(19)\ Width=ShapeWidth(Nastyshooters(19)\Pict)
  627. Nastyshooters(19)\  Height=ShapeHeight(Nastyshooters(19)\Pict)/5
  628. Nastyshooters(19)\   WeaponDb=0
  629. Nastyshooters(19)\   Typ=0
  630. Nastyshooters(19)\SpeedX=0
  631. Nastyshooters(19)\SpeedY=5
  632.  
  633. ; PlantAlien2Shot
  634. Nastyshooters(20)\  Pict=90
  635. Nastyshooters(20)\ Width=ShapeWidth(Nastyshooters(20)\Pict)
  636. Nastyshooters(20)\  Height=ShapeHeight(Nastyshooters(20)\Pict)/5
  637. Nastyshooters(20)\   WeaponDb=0
  638. Nastyshooters(20)\   Typ=0
  639. Nastyshooters(20)\SpeedX=0
  640. Nastyshooters(20)\SpeedY=5
  641.  
  642. ; PlantAlien3Shot
  643. Nastyshooters(21)\  Pict=91
  644. Nastyshooters(21)\ Width=ShapeWidth(Nastyshooters(21)\Pict)
  645. Nastyshooters(21)\  Height=ShapeHeight(Nastyshooters(21)\Pict)/5
  646. Nastyshooters(21)\   WeaponDb=1
  647. Nastyshooters(21)\   Typ=0
  648. Nastyshooters(21)\SpeedX=0
  649. Nastyshooters(21)\SpeedY=3
  650.  
  651. ; EndNasty4Shot
  652. Nastyshooters(22)\  Pict=94
  653. Nastyshooters(22)\ Width=ShapeWidth(Nastyshooters(22)\Pict)
  654. Nastyshooters(22)\  Height=ShapeHeight(Nastyshooters(22)\Pict)/5
  655. Nastyshooters(22)\   WeaponDb=0
  656. Nastyshooters(22)\   Typ=0
  657. Nastyshooters(22)\SpeedX=0
  658. Nastyshooters(22)\SpeedY=4
  659.  
  660. ; Dreadnought1Shot
  661. Nastyshooters(23)\  Pict=99
  662. Nastyshooters(23)\ Width=ShapeWidth(Nastyshooters(23)\Pict)
  663. Nastyshooters(23)\  Height=ShapeHeight(Nastyshooters(23)\Pict)/5
  664. Nastyshooters(23)\   WeaponDb=0
  665. Nastyshooters(23)\   Typ=0
  666. Nastyshooters(23)\SpeedX=0
  667. Nastyshooters(23)\SpeedY=5
  668.  
  669. ; Dreadnought2Shot
  670. Nastyshooters(24)\  Pict=100
  671. Nastyshooters(24)\ Width=ShapeWidth(Nastyshooters(24)\Pict)
  672. Nastyshooters(24)\  Height=ShapeHeight(Nastyshooters(24)\Pict)/5
  673. Nastyshooters(24)\   WeaponDb=0
  674. Nastyshooters(24)\   Typ=0
  675. Nastyshooters(24)\SpeedX=0
  676. Nastyshooters(24)\SpeedY=4
  677.  
  678. ; Dreadnought3Shot
  679. Nastyshooters(25)\  Pict=101
  680. Nastyshooters(25)\ Width=ShapeWidth(Nastyshooters(25)\Pict)
  681. Nastyshooters(25)\  Height=ShapeHeight(Nastyshooters(25)\Pict)/5
  682. Nastyshooters(25)\   WeaponDb=0
  683. Nastyshooters(25)\   Typ=0
  684. Nastyshooters(25)\SpeedX=0
  685. Nastyshooters(25)\SpeedY=6
  686.  
  687. ; Lenkrakete
  688. Nastyshooters(26)\  Pict=105
  689. Nastyshooters(26)\ Width=ShapeWidth(Nastyshooters(26)\Pict)
  690. Nastyshooters(26)\  Height=ShapeHeight(Nastyshooters(26)\Pict)/5
  691. Nastyshooters(26)\   WeaponDb=1
  692. Nastyshooters(26)\   Typ=2
  693. Nastyshooters(26)\SpeedX=0
  694. Nastyshooters(26)\SpeedY=4
  695.  
  696. ; EndNasty6Shot
  697. Nastyshooters(27)\  Pict=107
  698. Nastyshooters(27)\ Width=ShapeWidth(Nastyshooters(27)\Pict)
  699. Nastyshooters(27)\  Height=ShapeHeight(Nastyshooters(27)\Pict)/5
  700. Nastyshooters(27)\   WeaponDb=0
  701. Nastyshooters(27)\   Typ=0
  702. Nastyshooters(27)\SpeedX=8
  703. Nastyshooters(27)\SpeedY=4
  704.  
  705. ; Meanies ship specs
  706.  
  707. .VarNasty:                  ; Meany variables
  708.  
  709. Dim Nastychoice.Nasty(37) ; Meanybits.Meany(37)
  710.  
  711. ; Drohne 1
  712. Nastychoice(0)\    SPict=36
  713. Nastychoice(0)\   SWidth=ShapeWidth(Nastychoice(0)\SPict)
  714. Nastychoice(0)\    SHeight=ShapeHeight(Nastychoice(0)\SPict)/5
  715. Nastychoice(0)\     WeaponNr1=0
  716. Nastychoice(0)\     WeaponNr2=0
  717. Nastychoice(0)\     WeaponNr3=0
  718. Nastychoice(0)\     WeaponNr4=0
  719. Nastychoice(0)\   WXplus=(Nastychoice(0)\SWidth ASR 1)-(Nastyshooters(Nastychoice(0)\WeaponNr1)\Width ASR 1)
  720. Nastychoice(0)\      WeaponDb=0
  721. Nastychoice(0)\  SMovTyp=3
  722. Nastychoice(0)\    Intel=0
  723. Nastychoice(0)\   Shield=1
  724. Nastychoice(0)\   Points=15
  725. Nastychoice(0)\  SSpeedX=0
  726. Nastychoice(0)\  SSpeedY=0
  727. Nastychoice(0)\   trailNr=0
  728.  
  729. ; Drohne 2
  730. Nastychoice(1)\    SPict=37
  731. Nastychoice(1)\   SWidth=ShapeWidth(Nastychoice(1)\SPict)
  732. Nastychoice(1)\    SHeight=ShapeHeight(Nastychoice(1)\SPict)/5
  733. Nastychoice(1)\     WeaponNr1=0
  734. Nastychoice(1)\     WeaponNr2=0
  735. Nastychoice(1)\     WeaponNr3=0
  736. Nastychoice(1)\     WeaponNr4=0
  737. Nastychoice(1)\   WXplus=(Nastychoice(1)\SWidth ASR 1)-(Nastyshooters(Nastychoice(1)\WeaponNr1)\Width ASR 1)
  738. Nastychoice(1)\      WeaponDb=0
  739. Nastychoice(1)\  SMovTyp=3
  740. Nastychoice(1)\    Intel=0
  741. Nastychoice(1)\   Shield=2
  742. Nastychoice(1)\   Points=20
  743. Nastychoice(1)\  SSpeedX=0
  744. Nastychoice(1)\  SSpeedY=0
  745. Nastychoice(1)\   trailNr=1
  746.  
  747. ; Drohne 3
  748. Nastychoice(2)\    SPict=38
  749. Nastychoice(2)\   SWidth=ShapeWidth(Nastychoice(2)\SPict)
  750. Nastychoice(2)\    SHeight=ShapeHeight(Nastychoice(2)\SPict)/5
  751. Nastychoice(2)\     WeaponNr1=1
  752. Nastychoice(2)\     WeaponNr2=1
  753. Nastychoice(2)\     WeaponNr3=1
  754. Nastychoice(2)\     WeaponNr4=1
  755. Nastychoice(2)\   WXplus=(Nastychoice(2)\SWidth ASR 1)-(Nastyshooters(Nastychoice(2)\WeaponNr1)\Width ASR 1)
  756. Nastychoice(2)\      WeaponDb=0
  757. Nastychoice(2)\  SMovTyp=1
  758. Nastychoice(2)\    Intel=0
  759. Nastychoice(2)\   Shield=5
  760. Nastychoice(2)\   Points=40
  761. Nastychoice(2)\  SSpeedX=1
  762. Nastychoice(2)\  SSpeedY=1
  763. Nastychoice(2)\SBorderX1=0
  764. Nastychoice(2)\SBorderX2=320-Nastychoice(2)\SHeight
  765. Nastychoice(2)\SBorderY1=40
  766. Nastychoice(2)\SBorderY2=128-Nastychoice(2)\SWidth
  767.  
  768. ; Jaeger1
  769. Nastychoice(3)\    SPict=50
  770. Nastychoice(3)\   SWidth=ShapeWidth(Nastychoice(3)\SPict)
  771. Nastychoice(3)\    SHeight=ShapeHeight(Nastychoice(3)\SPict)/5
  772. Nastychoice(3)\     WeaponNr1=4
  773. Nastychoice(3)\     WeaponNr2=4
  774. Nastychoice(3)\     WeaponNr3=4
  775. Nastychoice(3)\     WeaponNr4=4
  776. Nastychoice(3)\   WXplus=(Nastychoice(3)\SWidth ASR 1)-(Nastyshooters(Nastychoice(3)\WeaponNr1)\Width ASR 1)
  777. Nastychoice(3)\      WeaponDb=0
  778. Nastychoice(3)\  SMovTyp=0
  779. Nastychoice(3)\    Intel=0
  780. Nastychoice(3)\   Shield=2
  781. Nastychoice(3)\   Points=25
  782. Nastychoice(3)\  SSpeedX=1
  783. Nastychoice(3)\  SSpeedY=2
  784.  
  785. ; Drohne4
  786. Nastychoice(4)\    SPict=39
  787. Nastychoice(4)\   SWidth=ShapeWidth(Nastychoice(4)\SPict)
  788. Nastychoice(4)\    SHeight=ShapeHeight(Nastychoice(4)\SPict)/5
  789. Nastychoice(4)\     WeaponNr1=5
  790. Nastychoice(4)\     WeaponNr2=5
  791. Nastychoice(4)\     WeaponNr3=5
  792. Nastychoice(4)\     WeaponNr4=5
  793. Nastychoice(4)\   WXplus=(Nastychoice(4)\SWidth ASR 1)-(Nastyshooters(Nastychoice(4)\WeaponNr1)\Width ASR 1)
  794. Nastychoice(4)\      WeaponDb=0
  795. Nastychoice(4)\  SMovTyp=3
  796. Nastychoice(4)\    Intel=0
  797. Nastychoice(4)\   Shield=2
  798. Nastychoice(4)\   Points=25
  799. Nastychoice(4)\  SSpeedX=1
  800. Nastychoice(4)\  SSpeedY=2
  801. Nastychoice(4)\   trailNr=3
  802.  
  803. ; Drohne5
  804. Nastychoice(5)\    SPict=40
  805. Nastychoice(5)\   SWidth=ShapeWidth(Nastychoice(5)\SPict)
  806. Nastychoice(5)\    SHeight=ShapeHeight(Nastychoice(5)\SPict)/5
  807. Nastychoice(5)\     WeaponNr1=0
  808. Nastychoice(5)\     WeaponNr2=0
  809. Nastychoice(5)\     WeaponNr3=0
  810. Nastychoice(5)\     WeaponNr4=0
  811. Nastychoice(5)\   WXplus=(Nastychoice(5)\SWidth ASR 1)-(Nastyshooters(Nastychoice(5)\WeaponNr1)\Width ASR 1)
  812. Nastychoice(5)\      WeaponDb=0
  813. Nastychoice(5)\  SMovTyp=0
  814. Nastychoice(5)\    Intel=0
  815. Nastychoice(5)\   Shield=2
  816. Nastychoice(5)\   Points=25
  817. Nastychoice(5)\  SSpeedX=2
  818. Nastychoice(5)\  SSpeedY=2
  819.  
  820. ; Drohne6
  821. Nastychoice(6)\    SPict=41
  822. Nastychoice(6)\   SWidth=ShapeWidth(Nastychoice(6)\SPict)
  823. Nastychoice(6)\    SHeight=ShapeHeight(Nastychoice(6)\SPict)/5
  824. Nastychoice(6)\     WeaponNr1=2
  825. Nastychoice(6)\     WeaponNr2=2
  826. Nastychoice(6)\     WeaponNr3=2
  827. Nastychoice(6)\     WeaponNr4=2
  828. Nastychoice(6)\   WXplus=(Nastychoice(6)\SWidth ASR 1)-(Nastyshooters(Nastychoice(6)\WeaponNr1)\Width ASR 1)
  829. Nastychoice(6)\      WeaponDb=0
  830. Nastychoice(6)\  SMovTyp=0
  831. Nastychoice(6)\    Intel=0
  832. Nastychoice(6)\   Shield=4
  833. Nastychoice(6)\   Points=50
  834. Nastychoice(6)\  SSpeedX=0
  835. Nastychoice(6)\  SSpeedY=1
  836.  
  837. ; EndNasty1
  838. Nastychoice(7)\    SPict=44
  839. Nastychoice(7)\   SWidth=ShapeWidth(Nastychoice(7)\SPict)
  840. Nastychoice(7)\    SHeight=ShapeHeight(Nastychoice(7)\SPict)/5
  841. Nastychoice(7)\     WeaponNr1=2
  842. Nastychoice(7)\     WeaponNr2=2
  843. Nastychoice(7)\     WeaponNr3=3
  844. Nastychoice(7)\     WeaponNr4=3
  845. Nastychoice(7)\   WXplus=(Nastychoice(7)\SWidth ASR 1)-(Nastyshooters(Nastychoice(7)\WeaponNr1)\Width ASR 1)
  846. Nastychoice(7)\      WeaponDb=0
  847. Nastychoice(7)\  SMovTyp=3
  848. Nastychoice(7)\    Intel=0
  849. Nastychoice(7)\   Shield=75
  850. Nastychoice(7)\   Points=1000
  851. Nastychoice(7)\  SSpeedX=0
  852. Nastychoice(7)\  SSpeedY=1
  853. Nastychoice(7)\   trailNr=2
  854.  
  855. ; AlienDrohne1
  856. Nastychoice(8)\    SPict=52
  857. Nastychoice(8)\   SWidth=ShapeWidth(Nastychoice(8)\SPict)
  858. Nastychoice(8)\    SHeight=ShapeHeight(Nastychoice(8)\SPict)/5
  859. Nastychoice(8)\     WeaponNr1=0
  860. Nastychoice(8)\     WeaponNr2=0
  861. Nastychoice(8)\     WeaponNr3=0
  862. Nastychoice(8)\     WeaponNr4=0
  863. Nastychoice(8)\   WXplus=(Nastychoice(8)\SWidth ASR 1)-(Nastyshooters(Nastychoice(8)\WeaponNr1)\Width ASR 1)
  864. Nastychoice(8)\      WeaponDb=0
  865. Nastychoice(8)\  SMovTyp=3
  866. Nastychoice(8)\    Intel=0
  867. Nastychoice(8)\   Shield=4
  868. Nastychoice(8)\   Points=30
  869. Nastychoice(8)\  SSpeedX=0
  870. Nastychoice(8)\  SSpeedY=0
  871. Nastychoice(8)\   trailNr=4
  872.  
  873. ; AlienHunter1 (Jaeger)
  874. Nastychoice(9)\    SPict=53
  875. Nastychoice(9)\   SWidth=ShapeWidth(Nastychoice(9)\SPict)
  876. Nastychoice(9)\    SHeight=ShapeHeight(Nastychoice(9)\SPict)/5
  877. Nastychoice(9)\     WeaponNr1=6
  878. Nastychoice(9)\     WeaponNr2=6
  879. Nastychoice(9)\     WeaponNr3=6
  880. Nastychoice(9)\     WeaponNr4=6
  881. Nastychoice(9)\   WXplus=(Nastychoice(9)\SWidth ASR 1)-(Nastyshooters(Nastychoice(9)\WeaponNr1)\Width ASR 1)
  882. Nastychoice(9)\      WeaponDb=0
  883. Nastychoice(9)\  SMovTyp=0
  884. Nastychoice(9)\    Intel=0
  885. Nastychoice(9)\   Shield=4
  886. Nastychoice(9)\   Points=40
  887. Nastychoice(9)\  SSpeedX=1
  888. Nastychoice(9)\  SSpeedY=3
  889.  
  890. ; AlienHunter2 (Jaeger)
  891. Nastychoice(10)\    SPict=54
  892. Nastychoice(10)\   SWidth=ShapeWidth(Nastychoice(10)\SPict)
  893. Nastychoice(10)\    SHeight=ShapeHeight(Nastychoice(10)\SPict)/5
  894. Nastychoice(10)\     WeaponNr1=7
  895. Nastychoice(10)\     WeaponNr2=7
  896. Nastychoice(10)\     WeaponNr3=7
  897. Nastychoice(10)\     WeaponNr4=7
  898. Nastychoice(10)\   WXplus=(Nastychoice(10)\SWidth ASR 1)-(Nastyshooters(Nastychoice(10)\WeaponNr1)\Width ASR 1)
  899. Nastychoice(10)\      WeaponDb=0
  900. Nastychoice(10)\  SMovTyp=0
  901. Nastychoice(10)\    Intel=0
  902. Nastychoice(10)\   Shield=8
  903. Nastychoice(10)\   Points=60
  904. Nastychoice(10)\  SSpeedX=1
  905. Nastychoice(10)\  SSpeedY=2
  906.  
  907. ; AlienJaeger3
  908. Nastychoice(11)\    SPict=55
  909. Nastychoice(11)\   SWidth=ShapeWidth(Nastychoice(11)\SPict)
  910. Nastychoice(11)\    SHeight=ShapeHeight(Nastychoice(11)\SPict)/5
  911. Nastychoice(11)\     WeaponNr1=8
  912. Nastychoice(11)\     WeaponNr2=8
  913. Nastychoice(11)\     WeaponNr3=8
  914. Nastychoice(11)\     WeaponNr4=8
  915. Nastychoice(11)\   WXplus=(Nastychoice(11)\SWidth ASR 1)-(Nastyshooters(Nastychoice(11)\WeaponNr1)\Width ASR 1)
  916. Nastychoice(11)\      WeaponDb=0
  917. Nastychoice(11)\  SMovTyp=0
  918. Nastychoice(11)\    Intel=0
  919. Nastychoice(11)\   Shield=10
  920. Nastychoice(11)\   Points=80
  921. Nastychoice(11)\  SSpeedX=1
  922. Nastychoice(11)\  SSpeedY=2
  923.  
  924. ; EndNasty2
  925. Nastychoice(12)\    SPict=59
  926. Nastychoice(12)\   SWidth=ShapeWidth(Nastychoice(12)\SPict)
  927. Nastychoice(12)\    SHeight=ShapeHeight(Nastychoice(12)\SPict)/5
  928. Nastychoice(12)\     WeaponNr1=2
  929. Nastychoice(12)\     WeaponNr2=9
  930. Nastychoice(12)\     WeaponNr3=9
  931. Nastychoice(12)\     WeaponNr4=9
  932. Nastychoice(12)\   WXplus=(Nastychoice(12)\SWidth ASR 1)-(Nastyshooters(Nastychoice(12)\WeaponNr1)\Width ASR 1)
  933. Nastychoice(12)\      WeaponDb=0
  934. Nastychoice(12)\  SMovTyp=1
  935. Nastychoice(12)\    Intel=0
  936. Nastychoice(12)\   Shield=150
  937. Nastychoice(12)\   Points=1500
  938. Nastychoice(12)\  SSpeedX=1
  939. Nastychoice(12)\  SSpeedY=1
  940. Nastychoice(12)\SBorderX1=0
  941. Nastychoice(12)\SBorderX2=320-Nastychoice(12)\SHeight
  942. Nastychoice(12)\SBorderY1=8
  943. Nastychoice(12)\SBorderY2=255-Nastychoice(12)\SWidth
  944.  
  945. ; AlienDrohne2
  946. Nastychoice(13)\    SPict=61
  947. Nastychoice(13)\   SWidth=ShapeWidth(Nastychoice(13)\SPict)
  948. Nastychoice(13)\    SHeight=ShapeHeight(Nastychoice(13)\SPict)/5
  949. Nastychoice(13)\     WeaponNr1=10
  950. Nastychoice(13)\     WeaponNr2=10
  951. Nastychoice(13)\     WeaponNr3=10
  952. Nastychoice(13)\     WeaponNr4=10
  953. Nastychoice(13)\   WXplus=(Nastychoice(13)\SWidth ASR 1)-(Nastyshooters(Nastychoice(13)\WeaponNr1)\Width ASR 1)
  954. Nastychoice(13)\      WeaponDb=0
  955. Nastychoice(13)\  SMovTyp=1
  956. Nastychoice(13)\    Intel=0
  957. Nastychoice(13)\   Shield=15
  958. Nastychoice(13)\   Points=100
  959. Nastychoice(13)\  SSpeedX=1
  960. Nastychoice(13)\  SSpeedY=1
  961. Nastychoice(13)\SBorderX1=0
  962. Nastychoice(13)\SBorderX2=320-Nastychoice(13)\SHeight
  963. Nastychoice(13)\SBorderY1=8
  964. Nastychoice(13)\SBorderY2=127-Nastychoice(13)\SWidth
  965.  
  966. ; Jaeger2
  967. Nastychoice(14)\    SPict=63
  968. Nastychoice(14)\   SWidth=ShapeWidth(Nastychoice(14)\SPict)
  969. Nastychoice(14)\    SHeight=ShapeHeight(Nastychoice(14)\SPict)/5
  970. Nastychoice(14)\     WeaponNr1=11
  971. Nastychoice(14)\     WeaponNr2=11
  972. Nastychoice(14)\     WeaponNr3=11
  973. Nastychoice(14)\     WeaponNr4=11
  974. Nastychoice(14)\   WXplus=(Nastychoice(14)\SWidth ASR 1)-(Nastyshooters(Nastychoice(14)\WeaponNr1)\Width ASR 1)
  975. Nastychoice(14)\      WeaponDb=0
  976. Nastychoice(14)\  SMovTyp=0
  977. Nastychoice(14)\    Intel=0
  978. Nastychoice(14)\   Shield=8
  979. Nastychoice(14)\   Points=150
  980. Nastychoice(14)\  SSpeedX=1
  981. Nastychoice(14)\  SSpeedY=2
  982.  
  983. ; RaketenJaeger
  984. Nastychoice(15)\    SPict=64
  985. Nastychoice(15)\   SWidth=ShapeWidth(Nastychoice(15)\SPict)
  986. Nastychoice(15)\    SHeight=ShapeHeight(Nastychoice(15)\SPict)/5
  987. Nastychoice(15)\     WeaponNr1=12
  988. Nastychoice(15)\     WeaponNr2=12
  989. Nastychoice(15)\     WeaponNr3=12
  990. Nastychoice(15)\     WeaponNr4=12
  991. Nastychoice(15)\   WXplus=(Nastychoice(15)\SWidth ASR 1)-(Nastyshooters(Nastychoice(15)\WeaponNr1)\Width ASR 1)
  992. Nastychoice(15)\      WeaponDb=0
  993. Nastychoice(15)\  SMovTyp=1
  994. Nastychoice(15)\    Intel=0
  995. Nastychoice(15)\   Shield=16
  996. Nastychoice(15)\   Points=200
  997. Nastychoice(15)\  SSpeedX=4
  998. Nastychoice(15)\  SSpeedY=1
  999. Nastychoice(15)\SBorderX1=0
  1000. Nastychoice(15)\SBorderX2=320-Nastychoice(15)\SHeight
  1001. Nastychoice(15)\SBorderY1=8
  1002. Nastychoice(15)\SBorderY2=127-Nastychoice(15)\SWidth
  1003.  
  1004. ; Bomber
  1005. Nastychoice(16)\    SPict=65
  1006. Nastychoice(16)\   SWidth=ShapeWidth(Nastychoice(16)\SPict)
  1007. Nastychoice(16)\    SHeight=ShapeHeight(Nastychoice(16)\SPict)/5
  1008. Nastychoice(16)\     WeaponNr1=2
  1009. Nastychoice(16)\     WeaponNr2=13
  1010. Nastychoice(16)\     WeaponNr3=13
  1011. Nastychoice(16)\     WeaponNr4=13
  1012. Nastychoice(16)\   WXplus=(Nastychoice(16)\SWidth ASR 1)-(Nastyshooters(Nastychoice(16)\WeaponNr1)\Width ASR 1)
  1013. Nastychoice(16)\      WeaponDb=0
  1014. Nastychoice(16)\  SMovTyp=0
  1015. Nastychoice(16)\    Intel=0
  1016. Nastychoice(16)\   Shield=24
  1017. Nastychoice(16)\   Points=250
  1018. Nastychoice(16)\  SSpeedX=1
  1019. Nastychoice(16)\  SSpeedY=1
  1020.  
  1021. ; Jaeger3
  1022. Nastychoice(17)\    SPict=66
  1023. Nastychoice(17)\   SWidth=ShapeWidth(Nastychoice(17)\SPict)
  1024. Nastychoice(17)\    SHeight=ShapeHeight(Nastychoice(17)\SPict)/5
  1025. Nastychoice(17)\     WeaponNr1=14
  1026. Nastychoice(17)\     WeaponNr2=14
  1027. Nastychoice(17)\     WeaponNr3=26
  1028. Nastychoice(17)\     WeaponNr4=26
  1029. Nastychoice(17)\   WXplus=(Nastychoice(17)\SWidth ASR 1)-(Nastyshooters(Nastychoice(17)\WeaponNr1)\Width ASR 1)
  1030. Nastychoice(17)\      WeaponDb=0
  1031. Nastychoice(17)\  SMovTyp=0
  1032. Nastychoice(17)\    Intel=0
  1033. Nastychoice(17)\   Shield=8
  1034. Nastychoice(17)\   Points=150
  1035. Nastychoice(17)\  SSpeedX=2
  1036. Nastychoice(17)\  SSpeedY=3
  1037.  
  1038. ; Kanone
  1039. Nastychoice(18)\    SPict=67
  1040. Nastychoice(18)\   SWidth=ShapeWidth(Nastychoice(18)\SPict)
  1041. Nastychoice(18)\    SHeight=ShapeHeight(Nastychoice(18)\SPict)/5
  1042. Nastychoice(18)\     WeaponNr1=15
  1043. Nastychoice(18)\     WeaponNr2=15
  1044. Nastychoice(18)\     WeaponNr3=15
  1045. Nastychoice(18)\     WeaponNr4=15
  1046. Nastychoice(18)\   WXplus=(Nastychoice(18)\SWidth ASR 1)-(Nastyshooters(Nastychoice(18)\WeaponNr1)\Width ASR 1)
  1047. Nastychoice(18)\      WeaponDb=0
  1048. Nastychoice(18)\  SMovTyp=0
  1049. Nastychoice(18)\    Intel=0
  1050. Nastychoice(18)\   Shield=24
  1051. Nastychoice(18)\   Points=300
  1052. Nastychoice(18)\  SSpeedX=0
  1053. Nastychoice(18)\  SSpeedY=1
  1054.  
  1055. ; Drohne7
  1056. Nastychoice(19)\    SPict=68
  1057. Nastychoice(19)\   SWidth=ShapeWidth(Nastychoice(19)\SPict)
  1058. Nastychoice(19)\    SHeight=ShapeHeight(Nastychoice(19)\SPict)/5
  1059. Nastychoice(19)\     WeaponNr1=17
  1060. Nastychoice(19)\     WeaponNr2=17
  1061. Nastychoice(19)\     WeaponNr3=17
  1062. Nastychoice(19)\     WeaponNr4=17
  1063. Nastychoice(19)\   WXplus=(Nastychoice(19)\SWidth ASR 1)-(Nastyshooters(Nastychoice(19)\WeaponNr1)\Width ASR 1)
  1064. Nastychoice(19)\      WeaponDb=0
  1065. Nastychoice(19)\  SMovTyp=3
  1066. Nastychoice(19)\    Intel=0
  1067. Nastychoice(19)\   Shield=5
  1068. Nastychoice(19)\   Points=45
  1069. Nastychoice(19)\  SSpeedX=1
  1070. Nastychoice(19)\  SSpeedY=1
  1071. Nastychoice(19)\   trailNr=5
  1072.  
  1073. ; Asteroid
  1074. Nastychoice(20)\    SPict=69
  1075. Nastychoice(20)\   SWidth=ShapeWidth(Nastychoice(20)\SPict)
  1076. Nastychoice(20)\    SHeight=ShapeHeight(Nastychoice(20)\SPict)/5
  1077. Nastychoice(20)\     WeaponNr1=16
  1078. Nastychoice(20)\     WeaponNr2=16
  1079. Nastychoice(20)\     WeaponNr3=16
  1080. Nastychoice(20)\     WeaponNr4=16
  1081. Nastychoice(20)\   WXplus=(Nastychoice(20)\SWidth ASR 1)-(Nastyshooters(Nastychoice(20)\WeaponNr1)\Width ASR 1)
  1082. Nastychoice(20)\      WeaponDb=0
  1083. Nastychoice(20)\  SMovTyp=0
  1084. Nastychoice(20)\    Intel=0
  1085. Nastychoice(20)\   Shield=32
  1086. Nastychoice(20)\   Points=200
  1087. Nastychoice(20)\  SSpeedX=1
  1088. Nastychoice(20)\  SSpeedY=2
  1089.  
  1090. ; EndNasty3
  1091. Nastychoice(21)\    SPict=70
  1092. Nastychoice(21)\   SWidth=ShapeWidth(Nastychoice(21)\SPict)
  1093. Nastychoice(21)\    SHeight=ShapeHeight(Nastychoice(21)\SPict)/5
  1094. Nastychoice(21)\     WeaponNr1=5
  1095. Nastychoice(21)\     WeaponNr2=13
  1096. Nastychoice(21)\     WeaponNr3=14
  1097. Nastychoice(21)\     WeaponNr4=17
  1098. Nastychoice(21)\   WXplus=(Nastychoice(21)\SWidth ASR 1)-(Nastyshooters(Nastychoice(21)\WeaponNr1)\Width ASR 1)
  1099. Nastychoice(21)\      WeaponDb=0
  1100. Nastychoice(21)\  SMovTyp=1
  1101. Nastychoice(21)\    Intel=0
  1102. Nastychoice(21)\   Shield=300
  1103. Nastychoice(21)\   Points=2000
  1104. Nastychoice(21)\  SSpeedX=2
  1105. Nastychoice(21)\  SSpeedY=2
  1106. Nastychoice(21)\SBorderX1=0
  1107. Nastychoice(21)\SBorderX2=320-Nastychoice(21)\SHeight
  1108. Nastychoice(21)\SBorderY1=8
  1109. Nastychoice(21)\SBorderY2=255-Nastychoice(21)\SWidth
  1110.  
  1111. ; PlantAlien1
  1112. Nastychoice(22)\    SPict=81
  1113. Nastychoice(22)\   SWidth=ShapeWidth(Nastychoice(22)\SPict)
  1114. Nastychoice(22)\    SHeight=ShapeHeight(Nastychoice(22)\SPict)/5
  1115. Nastychoice(22)\     WeaponNr1=19
  1116. Nastychoice(22)\     WeaponNr2=19
  1117. Nastychoice(22)\     WeaponNr3=19
  1118. Nastychoice(22)\     WeaponNr4=19
  1119. Nastychoice(22)\   WXplus=(Nastychoice(22)\SWidth ASR 1)-(Nastyshooters(Nastychoice(22)\WeaponNr1)\Width ASR 1)
  1120. Nastychoice(22)\      WeaponDb=0
  1121. Nastychoice(22)\  SMovTyp=0
  1122. Nastychoice(22)\    Intel=0
  1123. Nastychoice(22)\   Shield=12
  1124. Nastychoice(22)\   Points=120
  1125. Nastychoice(22)\  SSpeedX=1
  1126. Nastychoice(22)\  SSpeedY=2
  1127.  
  1128. ; PlantAlien2
  1129. Nastychoice(23)\    SPict=82
  1130. Nastychoice(23)\   SWidth=ShapeWidth(Nastychoice(23)\SPict)
  1131. Nastychoice(23)\    SHeight=ShapeHeight(Nastychoice(23)\SPict)/5
  1132. Nastychoice(23)\     WeaponNr1=20
  1133. Nastychoice(23)\     WeaponNr2=20
  1134. Nastychoice(23)\     WeaponNr3=20
  1135. Nastychoice(23)\     WeaponNr4=20
  1136. Nastychoice(23)\   WXplus=(Nastychoice(23)\SWidth ASR 1)-(Nastyshooters(Nastychoice(23)\WeaponNr1)\Width ASR 1)
  1137. Nastychoice(23)\      WeaponDb=0
  1138. Nastychoice(23)\  SMovTyp=0
  1139. Nastychoice(23)\    Intel=0
  1140. Nastychoice(23)\   Shield=12
  1141. Nastychoice(23)\   Points=180
  1142. Nastychoice(23)\  SSpeedX=1
  1143. Nastychoice(23)\  SSpeedY=4
  1144.  
  1145. ; PlantAlien3
  1146. Nastychoice(24)\    SPict=83
  1147. Nastychoice(24)\   SWidth=ShapeWidth(Nastychoice(24)\SPict)
  1148. Nastychoice(24)\    SHeight=ShapeHeight(Nastychoice(24)\SPict)/5
  1149. Nastychoice(24)\     WeaponNr1=21
  1150. Nastychoice(24)\     WeaponNr2=21
  1151. Nastychoice(24)\     WeaponNr3=21
  1152. Nastychoice(24)\     WeaponNr4=21
  1153. Nastychoice(24)\   WXplus=(Nastychoice(24)\SWidth ASR 1)-(Nastyshooters(Nastychoice(24)\WeaponNr1)\Width ASR 1)
  1154. Nastychoice(24)\      WeaponDb=0
  1155. Nastychoice(24)\  SMovTyp=0
  1156. Nastychoice(24)\    Intel=0
  1157. Nastychoice(24)\   Shield=6
  1158. Nastychoice(24)\   Points=100
  1159. Nastychoice(24)\  SSpeedX=2
  1160. Nastychoice(24)\  SSpeedY=1
  1161.  
  1162. ; PlantDrohne1
  1163. Nastychoice(25)\    SPict=84
  1164. Nastychoice(25)\   SWidth=ShapeWidth(Nastychoice(25)\SPict)
  1165. Nastychoice(25)\    SHeight=ShapeHeight(Nastychoice(25)\SPict)/5
  1166. Nastychoice(25)\     WeaponNr1=18
  1167. Nastychoice(25)\     WeaponNr2=18
  1168. Nastychoice(25)\     WeaponNr3=18
  1169. Nastychoice(25)\     WeaponNr4=18
  1170. Nastychoice(25)\   WXplus=(Nastychoice(25)\SWidth ASR 1)-(Nastyshooters(Nastychoice(25)\WeaponNr1)\Width ASR 1)
  1171. Nastychoice(25)\      WeaponDb=0
  1172. Nastychoice(25)\  SMovTyp=3
  1173. Nastychoice(25)\    Intel=0
  1174. Nastychoice(25)\   Shield=6
  1175. Nastychoice(25)\   Points=70
  1176. Nastychoice(25)\  SSpeedX=2
  1177. Nastychoice(25)\  SSpeedY=2
  1178. Nastychoice(25)\   trailNr=6
  1179.  
  1180. ; PlantDrohne2
  1181. Nastychoice(26)\    SPict=85
  1182. Nastychoice(26)\   SWidth=ShapeWidth(Nastychoice(26)\SPict)
  1183. Nastychoice(26)\    SHeight=ShapeHeight(Nastychoice(26)\SPict)/5
  1184. Nastychoice(26)\     WeaponNr1=5
  1185. Nastychoice(26)\     WeaponNr2=5
  1186. Nastychoice(26)\     WeaponNr3=5
  1187. Nastychoice(26)\     WeaponNr4=5
  1188. Nastychoice(26)\   WXplus=(Nastychoice(26)\SWidth ASR 1)-(Nastyshooters(Nastychoice(26)\WeaponNr1)\Width ASR 1)
  1189. Nastychoice(26)\      WeaponDb=0
  1190. Nastychoice(26)\  SMovTyp=3
  1191. Nastychoice(26)\    Intel=0
  1192. Nastychoice(26)\   Shield=6
  1193. Nastychoice(26)\   Points=50
  1194. Nastychoice(26)\  SSpeedX=2
  1195. Nastychoice(26)\  SSpeedY=2
  1196. Nastychoice(26)\   trailNr=7
  1197.  
  1198. ; PlantDrohne3
  1199. Nastychoice(27)\    SPict=86
  1200. Nastychoice(27)\   SWidth=ShapeWidth(Nastychoice(27)\SPict)
  1201. Nastychoice(27)\    SHeight=ShapeHeight(Nastychoice(27)\SPict)/5
  1202. Nastychoice(27)\     WeaponNr1=2
  1203. Nastychoice(27)\     WeaponNr2=2
  1204. Nastychoice(27)\     WeaponNr3=2
  1205. Nastychoice(27)\     WeaponNr4=2
  1206. Nastychoice(27)\   WXplus=(Nastychoice(27)\SWidth ASR 1)-(Nastyshooters(Nastychoice(27)\WeaponNr1)\Width ASR 1)
  1207. Nastychoice(27)\      WeaponDb=0
  1208. Nastychoice(27)\  SMovTyp=1
  1209. Nastychoice(27)\    Intel=0
  1210. Nastychoice(27)\   Shield=18
  1211. Nastychoice(27)\   Points=150
  1212. Nastychoice(27)\  SSpeedX=2
  1213. Nastychoice(27)\  SSpeedY=2
  1214. Nastychoice(27)\SBorderX1=0
  1215. Nastychoice(27)\SBorderX2=320-Nastychoice(27)\SHeight
  1216. Nastychoice(27)\SBorderY1=8
  1217. Nastychoice(27)\SBorderY2=127-Nastychoice(27)\SWidth
  1218.  
  1219. ; PlantKamikaze
  1220. Nastychoice(28)\    SPict=87
  1221. Nastychoice(28)\   SWidth=ShapeWidth(Nastychoice(28)\SPict)
  1222. Nastychoice(28)\    SHeight=ShapeHeight(Nastychoice(28)\SPict)/5
  1223. Nastychoice(28)\     WeaponNr1=17
  1224. Nastychoice(28)\     WeaponNr2=17
  1225. Nastychoice(28)\     WeaponNr3=17
  1226. Nastychoice(28)\     WeaponNr4=17
  1227. Nastychoice(28)\   WXplus=(Nastychoice(28)\SWidth ASR 1)-(Nastyshooters(Nastychoice(28)\WeaponNr1)\Width ASR 1)
  1228. Nastychoice(28)\      WeaponDb=0
  1229. Nastychoice(28)\  SMovTyp=2
  1230. Nastychoice(28)\    Intel=0
  1231. Nastychoice(28)\   Shield=12
  1232. Nastychoice(28)\   Points=200
  1233. Nastychoice(28)\  SSpeedX=3
  1234. Nastychoice(28)\  SSpeedY=3
  1235.  
  1236. ; EndNasty4
  1237. Nastychoice(29)\    SPict=93
  1238. Nastychoice(29)\   SWidth=ShapeWidth(Nastychoice(29)\SPict)
  1239. Nastychoice(29)\    SHeight=ShapeHeight(Nastychoice(29)\SPict)/5
  1240. Nastychoice(29)\     WeaponNr1=2
  1241. Nastychoice(29)\     WeaponNr2=2
  1242. Nastychoice(29)\     WeaponNr3=22
  1243. Nastychoice(29)\     WeaponNr4=22
  1244. Nastychoice(29)\   WXplus=(Nastychoice(29)\SWidth ASR 1)-(Nastyshooters(Nastychoice(29)\WeaponNr1)\Width ASR 1)
  1245. Nastychoice(29)\      WeaponDb=0
  1246. Nastychoice(29)\  SMovTyp=1
  1247. Nastychoice(29)\    Intel=0
  1248. Nastychoice(29)\   Shield=150
  1249. Nastychoice(29)\   Points=1000
  1250. Nastychoice(29)\  SSpeedX=2
  1251. Nastychoice(29)\  SSpeedY=2
  1252. Nastychoice(29)\SBorderX1=0
  1253. Nastychoice(29)\SBorderX2=320-Nastychoice(29)\SHeight
  1254. Nastychoice(29)\SBorderY1=8
  1255. Nastychoice(29)\SBorderY2=191-Nastychoice(29)\SWidth
  1256.  
  1257. ; Dreadnought1
  1258. Nastychoice(30)\    SPict=95
  1259. Nastychoice(30)\   SWidth=ShapeWidth(Nastychoice(30)\SPict)
  1260. Nastychoice(30)\    SHeight=ShapeHeight(Nastychoice(30)\SPict)/5
  1261. Nastychoice(30)\     WeaponNr1=23
  1262. Nastychoice(30)\     WeaponNr2=23
  1263. Nastychoice(30)\     WeaponNr3=23
  1264. Nastychoice(30)\     WeaponNr4=23
  1265. Nastychoice(30)\   WXplus=(Nastychoice(30)\SWidth ASR 1)-(Nastyshooters(Nastychoice(30)\WeaponNr1)\Width ASR 1)
  1266. Nastychoice(30)\      WeaponDb=0
  1267. Nastychoice(30)\  SMovTyp=0
  1268. Nastychoice(30)\    Intel=0
  1269. Nastychoice(30)\   Shield=24
  1270. Nastychoice(30)\   Points=250
  1271. Nastychoice(30)\  SSpeedX=1
  1272. Nastychoice(30)\  SSpeedY=2
  1273.  
  1274. ; Dreadnought2
  1275. Nastychoice(31)\    SPict=96
  1276. Nastychoice(31)\   SWidth=ShapeWidth(Nastychoice(31)\SPict)
  1277. Nastychoice(31)\    SHeight=ShapeHeight(Nastychoice(31)\SPict)/5
  1278. Nastychoice(31)\     WeaponNr1=2
  1279. Nastychoice(31)\     WeaponNr2=17
  1280. Nastychoice(31)\     WeaponNr3=24
  1281. Nastychoice(31)\     WeaponNr4=24
  1282. Nastychoice(31)\   WXplus=(Nastychoice(31)\SWidth ASR 1)-(Nastyshooters(Nastychoice(31)\WeaponNr1)\Width ASR 1)
  1283. Nastychoice(31)\      WeaponDb=0
  1284. Nastychoice(31)\  SMovTyp=0
  1285. Nastychoice(31)\    Intel=0
  1286. Nastychoice(31)\   Shield=24
  1287. Nastychoice(31)\   Points=350
  1288. Nastychoice(31)\  SSpeedX=1
  1289. Nastychoice(31)\  SSpeedY=2
  1290.  
  1291. ; Dreadnought3
  1292. Nastychoice(32)\    SPict=97
  1293. Nastychoice(32)\   SWidth=ShapeWidth(Nastychoice(32)\SPict)
  1294. Nastychoice(32)\    SHeight=ShapeHeight(Nastychoice(32)\SPict)/5
  1295. Nastychoice(32)\     WeaponNr1=25
  1296. Nastychoice(32)\     WeaponNr2=25
  1297. Nastychoice(32)\     WeaponNr3=2
  1298. Nastychoice(32)\     WeaponNr4=2
  1299. Nastychoice(32)\   WXplus=(Nastychoice(32)\SWidth ASR 1)-(Nastyshooters(Nastychoice(32)\WeaponNr1)\Width ASR 1)
  1300. Nastychoice(32)\      WeaponDb=0
  1301. Nastychoice(32)\  SMovTyp=0
  1302. Nastychoice(32)\    Intel=0
  1303. Nastychoice(32)\   Shield=24
  1304. Nastychoice(32)\   Points=300
  1305. Nastychoice(32)\  SSpeedX=0
  1306. Nastychoice(32)\  SSpeedY=2
  1307.  
  1308. ; Drohne8
  1309. Nastychoice(33)\    SPict=102
  1310. Nastychoice(33)\   SWidth=ShapeWidth(Nastychoice(33)\SPict)
  1311. Nastychoice(33)\    SHeight=ShapeHeight(Nastychoice(33)\SPict)/5
  1312. Nastychoice(33)\     WeaponNr1=12
  1313. Nastychoice(33)\     WeaponNr2=12
  1314. Nastychoice(33)\     WeaponNr3=12
  1315. Nastychoice(33)\     WeaponNr4=12
  1316. Nastychoice(33)\   WXplus=(Nastychoice(33)\SWidth ASR 1)-(Nastyshooters(Nastychoice(33)\WeaponNr1)\Width ASR 1)
  1317. Nastychoice(33)\      WeaponDb=0
  1318. Nastychoice(33)\  SMovTyp=3
  1319. Nastychoice(33)\    Intel=0
  1320. Nastychoice(33)\   Shield=8
  1321. Nastychoice(33)\   Points=80
  1322. Nastychoice(33)\  SSpeedX=2
  1323. Nastychoice(33)\  SSpeedY=2
  1324. Nastychoice(33)\   trailNr=8
  1325.  
  1326. ; EndNasty5
  1327. Nastychoice(34)\    SPict=98
  1328. Nastychoice(34)\   SWidth=ShapeWidth(Nastychoice(34)\SPict)
  1329. Nastychoice(34)\    SHeight=ShapeHeight(Nastychoice(34)\SPict)/5
  1330. Nastychoice(34)\     WeaponNr1=2
  1331. Nastychoice(34)\     WeaponNr2=3
  1332. Nastychoice(34)\     WeaponNr3=9
  1333. Nastychoice(34)\     WeaponNr4=17
  1334. Nastychoice(34)\   WXplus=(Nastychoice(34)\SWidth ASR 1)-(Nastyshooters(Nastychoice(34)\WeaponNr1)\Width ASR 1)
  1335. Nastychoice(34)\      WeaponDb=0
  1336. Nastychoice(34)\  SMovTyp=1
  1337. Nastychoice(34)\    Intel=0
  1338. Nastychoice(34)\   Shield=400
  1339. Nastychoice(34)\   Points=2500
  1340. Nastychoice(34)\  SSpeedX=2
  1341. Nastychoice(34)\  SSpeedY=2
  1342. Nastychoice(34)\SBorderX1=0
  1343. Nastychoice(34)\SBorderX2=320-Nastychoice(34)\SHeight
  1344. Nastychoice(34)\SBorderY1=8
  1345. Nastychoice(34)\SBorderY2=191-Nastychoice(34)\SWidth
  1346.  
  1347. ; Basis
  1348. Nastychoice(35)\    SPict=103
  1349. Nastychoice(35)\   SWidth=ShapeWidth(Nastychoice(35)\SPict)
  1350. Nastychoice(35)\    SHeight=ShapeHeight(Nastychoice(35)\SPict)/5
  1351. Nastychoice(35)\     WeaponNr1=2
  1352. Nastychoice(35)\     WeaponNr2=2
  1353. Nastychoice(35)\     WeaponNr3=17
  1354. Nastychoice(35)\     WeaponNr4=17
  1355. Nastychoice(35)\   WXplus=(Nastychoice(35)\SWidth ASR 1)-(Nastyshooters(Nastychoice(35)\WeaponNr1)\Width ASR 1)
  1356. Nastychoice(35)\      WeaponDb=0
  1357. Nastychoice(35)\  SMovTyp=0
  1358. Nastychoice(35)\    Intel=0
  1359. Nastychoice(35)\   Shield=12
  1360. Nastychoice(35)\   Points=200
  1361. Nastychoice(35)\  SSpeedX=0
  1362. Nastychoice(35)\  SSpeedY=1
  1363.  
  1364. ; EndNasty6
  1365. Nastychoice(36)\    SPict=104
  1366. Nastychoice(36)\   SWidth=ShapeWidth(Nastychoice(36)\SPict)
  1367. Nastychoice(36)\    SHeight=ShapeHeight(Nastychoice(36)\SPict)/5
  1368. Nastychoice(36)\     WeaponNr1=27
  1369. Nastychoice(36)\     WeaponNr2=27
  1370. Nastychoice(36)\     WeaponNr3=17
  1371. Nastychoice(36)\     WeaponNr4=17
  1372. Nastychoice(36)\   WXplus=(Nastychoice(36)\SWidth ASR 1)-(Nastyshooters(Nastychoice(36)\WeaponNr1)\Width ASR 1)
  1373. Nastychoice(36)\      WeaponDb=0
  1374. Nastychoice(36)\  SMovTyp=1
  1375. Nastychoice(36)\    Intel=0
  1376. Nastychoice(36)\   Shield=500
  1377. Nastychoice(36)\   Points=5000
  1378. Nastychoice(36)\  SSpeedX=1
  1379. Nastychoice(36)\  SSpeedY=2
  1380. Nastychoice(36)\SBorderX1=0
  1381. Nastychoice(36)\SBorderX2=320-Nastychoice(35)\SHeight
  1382. Nastychoice(36)\SBorderY1=8
  1383. Nastychoice(36)\SBorderY2=255-Nastychoice(35)\SWidth
  1384.  
  1385. ; Movements of the meanies (?)
  1386.  
  1387. .VarHeadtrailen:
  1388.  
  1389. Dim L.trail(9)
  1390.  
  1391. ; Drohne1-trail
  1392. L(0)\x=0
  1393. L(0)\y=8
  1394. L(0)\Counter[0]=100
  1395. L(0)\ SpeedX[0]=3
  1396. L(0)\ SpeedY[0]=0
  1397. L(0)\Counter[1]=9
  1398. L(0)\ SpeedX[1]=0
  1399. L(0)\ SpeedY[1]=3
  1400. L(0)\Counter[2]=100
  1401. L(0)\ SpeedX[2]=-3
  1402. L(0)\ SpeedY[2]=0
  1403. L(0)\Counter[3]=9
  1404. L(0)\ SpeedX[3]=0
  1405. L(0)\ SpeedY[3]=3
  1406. L(0)\Counter[4]=100
  1407. L(0)\ SpeedX[4]=3
  1408. L(0)\ SpeedY[4]=0
  1409. L(0)\Counter[5]=9
  1410. L(0)\ SpeedX[5]=0
  1411. L(0)\ SpeedY[5]=3
  1412. L(0)\Counter[6]=100
  1413. L(0)\ SpeedX[6]=-3
  1414. L(0)\ SpeedY[6]=0
  1415. L(0)\Counter[7]=9
  1416. L(0)\ SpeedX[7]=0
  1417. L(0)\ SpeedY[7]=3
  1418. L(0)\Counter[8]=100
  1419. L(0)\ SpeedX[8]=3
  1420. L(0)\ SpeedY[8]=0
  1421. L(0)\Counter[9]=9
  1422. L(0)\ SpeedX[9]=0
  1423. L(0)\ SpeedY[9]=3
  1424. L(0)\Counter[10]=100
  1425. L(0)\ SpeedX[10]=-3
  1426. L(0)\ SpeedY[10]=0
  1427. L(0)\Counter[11]=9
  1428. L(0)\ SpeedX[11]=0
  1429. L(0)\ SpeedY[11]=3
  1430. L(0)\Counter[12]=101
  1431. L(0)\ SpeedX[12]=3
  1432. L(0)\ SpeedY[12]=0
  1433.  
  1434. ; Drohne2-trail
  1435. L(1)\x=298
  1436. L(1)\y=9
  1437. L(1)\Counter[0]=99
  1438. L(1)\ SpeedX[0]=-3
  1439. L(1)\ SpeedY[0]=1
  1440. L(1)\Counter[1]=49
  1441. L(1)\ SpeedX[1]=3
  1442. L(1)\ SpeedY[1]=1
  1443. L(1)\Counter[2]=50
  1444. L(1)\ SpeedX[2]=3
  1445. L(1)\ SpeedY[2]=-1
  1446. L(1)\Counter[3]=100
  1447. L(1)\ SpeedX[3]=-3
  1448. L(1)\ SpeedY[3]=-1
  1449.  
  1450. ; EndNasty1-trail
  1451.  
  1452. L(2)\x=131
  1453. L(2)\y=8
  1454. L(2)\Counter[0]=50
  1455. L(2)\ SpeedX[0]=0
  1456. L(2)\ SpeedY[0]=1
  1457.  
  1458. ; Drohne4-trail
  1459.  
  1460. L(3)\x=32
  1461. L(3)\y=8
  1462. L(3)\Counter[0]=8
  1463. L(3)\ SpeedX[0]=0
  1464. L(3)\ SpeedY[0]=4
  1465. L(3)\Counter[1]=60
  1466. L(3)\ SpeedX[1]=4
  1467. L(3)\ SpeedY[1]=0
  1468. L(3)\Counter[2]=8
  1469. L(3)\ SpeedX[2]=0
  1470. L(3)\ SpeedY[2]=4
  1471. L(3)\Counter[3]=60
  1472. L(3)\ SpeedX[3]=-4
  1473. L(3)\ SpeedY[3]=0
  1474. L(3)\Counter[4]=8
  1475. L(3)\ SpeedX[4]=0
  1476. L(3)\ SpeedY[4]=4
  1477. L(3)\Counter[5]=60
  1478. L(3)\ SpeedX[5]=4
  1479. L(3)\ SpeedY[5]=0
  1480. L(3)\Counter[6]=8
  1481. L(3)\ SpeedX[6]=0
  1482. L(3)\ SpeedY[6]=4
  1483. L(3)\Counter[7]=80
  1484. L(3)\ SpeedX[7]=-4
  1485. L(3)\ SpeedY[7]=0
  1486. L(3)\Counter[8]=0
  1487. L(3)\ SpeedX[8]=-4
  1488. L(3)\ SpeedY[8]=4
  1489.  
  1490. ; AlienDrohne1trail
  1491.  
  1492. L(4)\x=153
  1493. L(4)\y=8
  1494. L(4)\Counter[0]=38
  1495. L(4)\ SpeedX[0]=-4
  1496. L(4)\ SpeedY[0]=1
  1497. L(4)\Counter[1]=38
  1498. L(4)\ SpeedX[1]=4
  1499. L(4)\ SpeedY[1]=1
  1500. L(4)\Counter[2]=38
  1501. L(4)\ SpeedX[2]=4
  1502. L(4)\ SpeedY[2]=-1
  1503. L(4)\Counter[3]=38
  1504. L(4)\ SpeedX[3]=-4
  1505. L(4)\ SpeedY[3]=-1
  1506. L(4)\Counter[4]=38
  1507. L(4)\ SpeedX[4]=-4
  1508. L(4)\ SpeedY[4]=2
  1509. L(4)\Counter[5]=38
  1510. L(4)\ SpeedX[5]=4
  1511. L(4)\ SpeedY[5]=2
  1512. L(4)\Counter[6]=38
  1513. L(4)\ SpeedX[6]=4
  1514. L(4)\ SpeedY[6]=-1
  1515. L(4)\Counter[7]=38
  1516. L(4)\ SpeedX[7]=-4
  1517. L(4)\ SpeedY[7]=-1
  1518. L(4)\Counter[8]=38
  1519. L(4)\ SpeedX[8]=-4
  1520. L(4)\ SpeedY[8]=2
  1521. L(4)\Counter[9]=50
  1522. L(4)\ SpeedX[9]=4
  1523. L(4)\ SpeedY[9]=2
  1524.  
  1525. ; Drohne7-trail
  1526. L(5)\x=298
  1527. L(5)\y=9
  1528. L(5)\Counter[0]=74
  1529. L(5)\ SpeedX[0]=-4
  1530. L(5)\ SpeedY[0]=1
  1531. L(5)\Counter[1]=37
  1532. L(5)\ SpeedX[1]=4
  1533. L(5)\ SpeedY[1]=1
  1534. L(5)\Counter[2]=37
  1535. L(5)\ SpeedX[2]=4
  1536. L(5)\ SpeedY[2]=-1
  1537. L(5)\Counter[3]=100
  1538. L(5)\ SpeedX[3]=-4
  1539. L(5)\ SpeedY[3]=-1
  1540.  
  1541. ; PlantDrohne1-trail
  1542. L(6)\x=150
  1543. L(6)\y=8
  1544. L(6)\Counter[0]=30
  1545. L(6)\ SpeedX[0]=0
  1546. L(6)\ SpeedY[0]=5
  1547. L(6)\Counter[1]=28
  1548. L(6)\ SpeedX[1]=-4
  1549. L(6)\ SpeedY[1]=-5
  1550. L(6)\Counter[2]=50
  1551. L(6)\ SpeedX[2]=5
  1552. L(6)\ SpeedY[2]=1
  1553. L(6)\Counter[3]=50
  1554. L(6)\ SpeedX[3]=-5
  1555. L(6)\ SpeedY[3]=2
  1556. L(6)\Counter[4]=50
  1557. L(6)\ SpeedX[4]=5
  1558. L(6)\ SpeedY[4]=-1
  1559. L(6)\Counter[5]=60
  1560. L(6)\ SpeedX[5]=-5
  1561. L(6)\ SpeedY[5]=-1
  1562.  
  1563. ; PlantDrohne2-trail
  1564. L(7)\x=303
  1565. L(7)\y=8
  1566. L(7)\Counter[0]=75
  1567. L(7)\ SpeedX[0]=-4
  1568. L(7)\ SpeedY[0]=0
  1569. L(7)\Counter[1]=32
  1570. L(7)\ SpeedX[1]=0
  1571. L(7)\ SpeedY[1]=4
  1572. L(7)\Counter[2]=75
  1573. L(7)\ SpeedX[2]=4
  1574. L(7)\ SpeedY[2]=0
  1575. L(7)\Counter[3]=24
  1576. L(7)\ SpeedX[3]=0
  1577. L(7)\ SpeedY[3]=-4
  1578. L(7)\Counter[4]=65
  1579. L(7)\ SpeedX[4]=-4
  1580. L(7)\ SpeedY[4]=0
  1581. L(7)\Counter[5]=16
  1582. L(7)\ SpeedX[5]=0
  1583. L(7)\ SpeedY[5]=4
  1584. L(7)\Counter[6]=55
  1585. L(7)\ SpeedX[6]=4
  1586. L(7)\ SpeedY[6]=0
  1587. L(7)\Counter[7]=8
  1588. L(7)\ SpeedX[7]=0
  1589. L(7)\ SpeedY[7]=-4
  1590. L(7)\Counter[8]=75
  1591. L(7)\ SpeedX[8]=-4
  1592. L(7)\ SpeedY[8]=0
  1593.  
  1594. ; Drohne8-trail
  1595. L(8)\x=0
  1596. L(8)\y=8
  1597. L(8)\Counter[0]=55
  1598. L(8)\ SpeedX[0]=0
  1599. L(8)\ SpeedY[0]=4
  1600. L(8)\Counter[1]=8
  1601. L(8)\ SpeedX[1]=4
  1602. L(8)\ SpeedY[1]=0
  1603. L(8)\Counter[2]=55
  1604. L(8)\ SpeedX[2]=0
  1605. L(8)\ SpeedY[2]=-4
  1606. L(8)\Counter[3]=20
  1607. L(8)\ SpeedX[3]=4
  1608. L(8)\ SpeedY[3]=0
  1609. L(8)\Counter[4]=55
  1610. L(8)\ SpeedX[4]=0
  1611. L(8)\ SpeedY[4]=4
  1612. L(8)\Counter[5]=8
  1613. L(8)\ SpeedX[5]=4
  1614. L(8)\ SpeedY[5]=0
  1615. L(8)\Counter[6]=55
  1616. L(8)\ SpeedX[6]=0
  1617. L(8)\ SpeedY[6]=-4
  1618. L(8)\Counter[7]=20
  1619. L(8)\ SpeedX[7]=4
  1620. L(8)\ SpeedY[7]=0
  1621. L(8)\Counter[8]=55
  1622. L(8)\ SpeedX[8]=0
  1623. L(8)\ SpeedY[8]=4
  1624. L(8)\Counter[9]=8
  1625. L(8)\ SpeedX[9]=4
  1626. L(8)\ SpeedY[9]=0
  1627. L(8)\Counter[10]=55
  1628. L(8)\ SpeedX[10]=0
  1629. L(8)\ SpeedY[10]=-4
  1630. L(8)\Counter[11]=20
  1631. L(8)\ SpeedX[11]=4
  1632. L(8)\ SpeedY[11]=0
  1633.  
  1634. ; variable instructions for each level
  1635.  
  1636. .VarLevel:
  1637.  
  1638. Dim Lev.Level(7)
  1639.  
  1640. Lev(1)\             R=0
  1641. Lev(1)\             G=0
  1642. Lev(1)\             B=0
  1643. Lev(1)\       Counter=0
  1644. Lev(1)\NastyComing[0]=32
  1645. Lev(1)\NastyKilled[0]=32
  1646. Lev(1)\ NastyCount[0]=5
  1647. Lev(1)\ ShotCount[0]=3
  1648. Lev(1)\ NastyType1[0]=0
  1649. Lev(1)\ NastyType2[0]=0
  1650. Lev(1)\ NastyType3[0]=0
  1651. Lev(1)\ NastyType4[0]=0
  1652. Lev(1)\   NastySpace[0]=10
  1653. Lev(1)\NShotSpace[0]=32
  1654.  
  1655. Lev(1)\NastyComing[1]=32
  1656. Lev(1)\NastyKilled[1]=32
  1657. Lev(1)\ NastyCount[1]=3
  1658. Lev(1)\ ShotCount[1]=3
  1659. Lev(1)\ NastyType1[1]=1
  1660. Lev(1)\ NastyType2[1]=1
  1661. Lev(1)\ NastyType3[1]=1
  1662. Lev(1)\ NastyType4[1]=1
  1663. Lev(1)\   NastySpace[1]=10
  1664. Lev(1)\NShotSpace[1]=32
  1665.  
  1666. Lev(1)\NastyComing[2]=24
  1667. Lev(1)\NastyKilled[2]=24
  1668. Lev(1)\ NastyCount[2]=4
  1669. Lev(1)\ ShotCount[2]=4
  1670. Lev(1)\ NastyType1[2]=2
  1671. Lev(1)\ NastyType2[2]=2
  1672. Lev(1)\ NastyType3[2]=2
  1673. Lev(1)\ NastyType4[2]=2
  1674. Lev(1)\   NastySpace[2]=50
  1675. Lev(1)\NShotSpace[2]=32
  1676.  
  1677. Lev(1)\NastyComing[3]=24
  1678. Lev(1)\NastyKilled[3]=24
  1679. Lev(1)\ NastyCount[3]=5
  1680. Lev(1)\ ShotCount[3]=3
  1681. Lev(1)\ NastyType1[3]=3
  1682. Lev(1)\ NastyType2[3]=3
  1683. Lev(1)\ NastyType3[3]=3
  1684. Lev(1)\ NastyType4[3]=3
  1685. Lev(1)\   NastySpace[3]=25
  1686. Lev(1)\NShotSpace[3]=32
  1687.  
  1688. Lev(1)\NastyComing[4]=32
  1689. Lev(1)\NastyKilled[4]=32
  1690. Lev(1)\ NastyCount[4]=4
  1691. Lev(1)\ ShotCount[4]=3
  1692. Lev(1)\ NastyType1[4]=4
  1693. Lev(1)\ NastyType2[4]=4
  1694. Lev(1)\ NastyType3[4]=4
  1695. Lev(1)\ NastyType4[4]=4
  1696. Lev(1)\   NastySpace[4]=10
  1697. Lev(1)\NShotSpace[4]=32
  1698.  
  1699. Lev(1)\NastyComing[5]=32
  1700. Lev(1)\NastyKilled[5]=32
  1701. Lev(1)\ NastyCount[5]=5
  1702. Lev(1)\ ShotCount[5]=3
  1703. Lev(1)\ NastyType1[5]=0
  1704. Lev(1)\ NastyType2[5]=0
  1705. Lev(1)\ NastyType3[5]=5
  1706. Lev(1)\ NastyType4[5]=5
  1707. Lev(1)\   NastySpace[5]=10
  1708. Lev(1)\NShotSpace[5]=32
  1709.  
  1710. Lev(1)\NastyComing[6]=16
  1711. Lev(1)\NastyKilled[6]=16
  1712. Lev(1)\ NastyCount[6]=5
  1713. Lev(1)\ ShotCount[6]=3
  1714. Lev(1)\ NastyType1[6]=6
  1715. Lev(1)\ NastyType2[6]=6
  1716. Lev(1)\ NastyType3[6]=6
  1717. Lev(1)\ NastyType4[6]=6
  1718. Lev(1)\   NastySpace[6]=25
  1719. Lev(1)\NShotSpace[6]=32
  1720.  
  1721. Lev(1)\NastyComing[7]=32
  1722. Lev(1)\NastyKilled[7]=32
  1723. Lev(1)\ NastyCount[7]=4
  1724. Lev(1)\ ShotCount[7]=4
  1725. Lev(1)\ NastyType1[7]=2
  1726. Lev(1)\ NastyType2[7]=2
  1727. Lev(1)\ NastyType3[7]=3
  1728. Lev(1)\ NastyType4[7]=3
  1729. Lev(1)\   NastySpace[7]=25
  1730. Lev(1)\NShotSpace[7]=32
  1731.  
  1732. Lev(1)\NastyComing[8]=32
  1733. Lev(1)\NastyKilled[8]=32
  1734. Lev(1)\ NastyCount[8]=5
  1735. Lev(1)\ ShotCount[8]=3
  1736. Lev(1)\ NastyType1[8]=1
  1737. Lev(1)\ NastyType2[8]=4
  1738. Lev(1)\ NastyType3[8]=5
  1739. Lev(1)\ NastyType4[8]=6
  1740. Lev(1)\   NastySpace[8]=25
  1741. Lev(1)\NShotSpace[8]=32
  1742.  
  1743. Lev(1)\NastyComing[9]=1
  1744. Lev(1)\NastyKilled[9]=1
  1745. Lev(1)\ NastyCount[9]=1
  1746. Lev(1)\ ShotCount[9]=9
  1747. Lev(1)\ NastyType1[9]=7
  1748. Lev(1)\ NastyType2[9]=7
  1749. Lev(1)\ NastyType3[9]=7
  1750. Lev(1)\ NastyType4[9]=7
  1751. Lev(1)\   NastySpace[9]=1
  1752. Lev(1)\NShotSpace[9]=8
  1753.  
  1754. Lev(2)\             R=3
  1755. Lev(2)\             G=0
  1756. Lev(2)\             B=0
  1757. Lev(2)\       Counter=0
  1758. Lev(2)\NastyComing[0]=32
  1759. Lev(2)\NastyKilled[0]=32
  1760. Lev(2)\ NastyCount[0]=5
  1761. Lev(2)\ ShotCount[0]=3
  1762. Lev(2)\ NastyType1[0]=8
  1763. Lev(2)\ NastyType2[0]=8
  1764. Lev(2)\ NastyType3[0]=8
  1765. Lev(2)\ NastyType4[0]=8
  1766. Lev(2)\   NastySpace[0]=5
  1767. Lev(2)\NShotSpace[0]=32
  1768. Lev(2)\NastyComing[1]=32
  1769. Lev(2)\NastyKilled[1]=32
  1770. Lev(2)\ NastyCount[1]=4
  1771. Lev(2)\ ShotCount[1]=3
  1772. Lev(2)\ NastyType1[1]=9
  1773. Lev(2)\ NastyType2[1]=9
  1774. Lev(2)\ NastyType3[1]=9
  1775. Lev(2)\ NastyType4[1]=9
  1776. Lev(2)\   NastySpace[1]=25
  1777. Lev(2)\NShotSpace[1]=32
  1778. Lev(2)\NastyComing[2]=32
  1779. Lev(2)\NastyKilled[2]=32
  1780. Lev(2)\ NastyCount[2]=4
  1781. Lev(2)\ ShotCount[2]=3
  1782. Lev(2)\ NastyType1[2]=10
  1783. Lev(2)\ NastyType2[2]=10
  1784. Lev(2)\ NastyType3[2]=10
  1785. Lev(2)\ NastyType4[2]=10
  1786. Lev(2)\   NastySpace[2]=25
  1787. Lev(2)\NShotSpace[2]=32
  1788. Lev(2)\NastyComing[3]=16
  1789. Lev(2)\NastyKilled[3]=16
  1790. Lev(2)\ NastyCount[3]=4
  1791. Lev(2)\ ShotCount[3]=3
  1792. Lev(2)\ NastyType1[3]=13
  1793. Lev(2)\ NastyType2[3]=13
  1794. Lev(2)\ NastyType3[3]=13
  1795. Lev(2)\ NastyType4[3]=13
  1796. Lev(2)\   NastySpace[3]=50
  1797. Lev(2)\NShotSpace[3]=32
  1798. Lev(2)\NastyComing[4]=16
  1799. Lev(2)\NastyKilled[4]=16
  1800. Lev(2)\ NastyCount[4]=5
  1801. Lev(2)\ ShotCount[4]=4
  1802. Lev(2)\ NastyType1[4]=8
  1803. Lev(2)\ NastyType2[4]=8
  1804. Lev(2)\ NastyType3[4]=9
  1805. Lev(2)\ NastyType4[4]=9
  1806. Lev(2)\   NastySpace[4]=25
  1807. Lev(2)\NShotSpace[4]=32
  1808. Lev(2)\NastyComing[5]=32
  1809. Lev(2)\NastyKilled[5]=32
  1810. Lev(2)\ NastyCount[5]=4
  1811. Lev(2)\ ShotCount[5]=3
  1812. Lev(2)\ NastyType1[5]=11
  1813. Lev(2)\ NastyType2[5]=11
  1814. Lev(2)\ NastyType3[5]=11
  1815. Lev(2)\ NastyType4[5]=11
  1816. Lev(2)\   NastySpace[5]=50
  1817. Lev(2)\NShotSpace[5]=32
  1818. Lev(2)\NastyComing[6]=32
  1819. Lev(2)\NastyKilled[6]=32
  1820. Lev(2)\ NastyCount[6]=4
  1821. Lev(2)\ ShotCount[6]=3
  1822. Lev(2)\ NastyType1[6]=9
  1823. Lev(2)\ NastyType2[6]=9
  1824. Lev(2)\ NastyType3[6]=10
  1825. Lev(2)\ NastyType4[6]=10
  1826. Lev(2)\   NastySpace[6]=25
  1827. Lev(2)\NShotSpace[6]=32
  1828. Lev(2)\NastyComing[7]=32
  1829. Lev(2)\NastyKilled[7]=32
  1830. Lev(2)\ NastyCount[7]=5
  1831. Lev(2)\ ShotCount[7]=3
  1832. Lev(2)\ NastyType1[7]=8
  1833. Lev(2)\ NastyType2[7]=8
  1834. Lev(2)\ NastyType3[7]=13
  1835. Lev(2)\ NastyType4[7]=13
  1836. Lev(2)\   NastySpace[7]=25
  1837. Lev(2)\NShotSpace[7]=32
  1838. Lev(2)\NastyComing[8]=32
  1839. Lev(2)\NastyKilled[8]=32
  1840. Lev(2)\ NastyCount[8]=3
  1841. Lev(2)\ ShotCount[8]=3
  1842. Lev(2)\ NastyType1[8]=9
  1843. Lev(2)\ NastyType2[8]=9
  1844. Lev(2)\ NastyType3[8]=10
  1845. Lev(2)\ NastyType4[8]=11
  1846. Lev(2)\   NastySpace[8]=25
  1847. Lev(2)\NShotSpace[8]=32
  1848. Lev(2)\NastyComing[9]=1
  1849. Lev(2)\NastyKilled[9]=1
  1850. Lev(2)\ NastyCount[9]=1
  1851. Lev(2)\ ShotCount[9]=9
  1852. Lev(2)\ NastyType1[9]=12
  1853. Lev(2)\ NastyType2[9]=12
  1854. Lev(2)\ NastyType3[9]=12
  1855. Lev(2)\ NastyType4[9]=12
  1856. Lev(2)\   NastySpace[9]=1
  1857. Lev(2)\NShotSpace[9]=12
  1858.  
  1859. Lev(3)\             R=0
  1860. Lev(3)\             G=0
  1861. Lev(3)\             B=4
  1862. Lev(3)\       Counter=0
  1863. Lev(3)\NastyComing[0]=32
  1864. Lev(3)\NastyKilled[0]=32
  1865. Lev(3)\ NastyCount[0]=5
  1866. Lev(3)\ ShotCount[0]=2
  1867. Lev(3)\ NastyType1[0]=19
  1868. Lev(3)\ NastyType2[0]=19
  1869. Lev(3)\ NastyType3[0]=19
  1870. Lev(3)\ NastyType4[0]=19
  1871. Lev(3)\   NastySpace[0]=8
  1872. Lev(3)\NShotSpace[0]=32
  1873. Lev(3)\NastyComing[1]=32
  1874. Lev(3)\NastyKilled[1]=32
  1875. Lev(3)\ NastyCount[1]=3
  1876. Lev(3)\ ShotCount[1]=0
  1877. Lev(3)\ NastyType1[1]=20
  1878. Lev(3)\ NastyType2[1]=20
  1879. Lev(3)\ NastyType3[1]=20
  1880. Lev(3)\ NastyType4[1]=20
  1881. Lev(3)\   NastySpace[1]=25
  1882. Lev(3)\NShotSpace[1]=127
  1883. Lev(3)\NastyComing[2]=32
  1884. Lev(3)\NastyKilled[2]=32
  1885. Lev(3)\ NastyCount[2]=3
  1886. Lev(3)\ ShotCount[2]=3
  1887. Lev(3)\ NastyType1[2]=17
  1888. Lev(3)\ NastyType2[2]=17
  1889. Lev(3)\ NastyType3[2]=17
  1890. Lev(3)\ NastyType4[2]=20
  1891. Lev(3)\   NastySpace[2]=10
  1892. Lev(3)\NShotSpace[2]=32
  1893. Lev(3)\NastyComing[3]=32
  1894. Lev(3)\NastyKilled[3]=32
  1895. Lev(3)\ NastyCount[3]=4
  1896. Lev(3)\ ShotCount[3]=3
  1897. Lev(3)\ NastyType1[3]=15
  1898. Lev(3)\ NastyType2[3]=15
  1899. Lev(3)\ NastyType3[3]=15
  1900. Lev(3)\ NastyType4[3]=20
  1901. Lev(3)\   NastySpace[3]=25
  1902. Lev(3)\NShotSpace[3]=32
  1903. Lev(3)\NastyComing[4]=32
  1904. Lev(3)\NastyKilled[4]=32
  1905. Lev(3)\ NastyCount[4]=3
  1906. Lev(3)\ ShotCount[4]=3
  1907. Lev(3)\ NastyType1[4]=16
  1908. Lev(3)\ NastyType2[4]=16
  1909. Lev(3)\ NastyType3[4]=20
  1910. Lev(3)\ NastyType4[4]=20
  1911. Lev(3)\   NastySpace[4]=25
  1912. Lev(3)\NShotSpace[4]=32
  1913. Lev(3)\NastyComing[5]=32
  1914. Lev(3)\NastyKilled[5]=32
  1915. Lev(3)\ NastyCount[5]=4
  1916. Lev(3)\ ShotCount[5]=0
  1917. Lev(3)\ NastyType1[5]=20
  1918. Lev(3)\ NastyType2[5]=20
  1919. Lev(3)\ NastyType3[5]=20
  1920. Lev(3)\ NastyType4[5]=20
  1921. Lev(3)\   NastySpace[5]=10
  1922. Lev(3)\NShotSpace[5]=32
  1923. Lev(3)\NastyComing[6]=32
  1924. Lev(3)\NastyKilled[6]=32
  1925. Lev(3)\ NastyCount[6]=4
  1926. Lev(3)\ ShotCount[6]=4
  1927. Lev(3)\ NastyType1[6]=14
  1928. Lev(3)\ NastyType2[6]=14
  1929. Lev(3)\ NastyType3[6]=14
  1930. Lev(3)\ NastyType4[6]=14
  1931. Lev(3)\   NastySpace[6]=10
  1932. Lev(3)\NShotSpace[6]=64
  1933. Lev(3)\NastyComing[7]=16
  1934. Lev(3)\NastyKilled[7]=16
  1935. Lev(3)\ NastyCount[7]=1
  1936. Lev(3)\ ShotCount[7]=1
  1937. Lev(3)\ NastyType1[7]=15
  1938. Lev(3)\ NastyType2[7]=15
  1939. Lev(3)\ NastyType3[7]=18
  1940. Lev(3)\ NastyType4[7]=18
  1941. Lev(3)\   NastySpace[7]=25
  1942. Lev(3)\NShotSpace[7]=32
  1943. Lev(3)\NastyComing[8]=32
  1944. Lev(3)\NastyKilled[8]=32
  1945. Lev(3)\ NastyCount[8]=4
  1946. Lev(3)\ ShotCount[8]=2
  1947. Lev(3)\ NastyType1[8]=19
  1948. Lev(3)\ NastyType2[8]=19
  1949. Lev(3)\ NastyType3[8]=20
  1950. Lev(3)\ NastyType4[8]=20
  1951. Lev(3)\   NastySpace[8]=10
  1952. Lev(3)\NShotSpace[8]=32
  1953. Lev(3)\NastyComing[9]=1
  1954. Lev(3)\NastyKilled[9]=1
  1955. Lev(3)\ NastyCount[9]=1
  1956. Lev(3)\ ShotCount[9]=9
  1957. Lev(3)\ NastyType1[9]=21
  1958. Lev(3)\ NastyType2[9]=21
  1959. Lev(3)\ NastyType3[9]=21
  1960. Lev(3)\ NastyType4[9]=21
  1961. Lev(3)\   NastySpace[9]=127
  1962. Lev(3)\NShotSpace[9]=16
  1963.  
  1964. Lev(4)\             R=0
  1965. Lev(4)\             G=2
  1966. Lev(4)\             B=0
  1967. Lev(4)\       Counter=0
  1968. Lev(4)\NastyComing[0]=32
  1969. Lev(4)\NastyKilled[0]=32
  1970. Lev(4)\ NastyCount[0]=5
  1971. Lev(4)\ ShotCount[0]=4
  1972. Lev(4)\ NastyType1[0]=26
  1973. Lev(4)\ NastyType2[0]=26
  1974. Lev(4)\ NastyType3[0]=26
  1975. Lev(4)\ NastyType4[0]=26
  1976. Lev(4)\   NastySpace[0]=5
  1977. Lev(4)\NShotSpace[0]=48
  1978. Lev(4)\NastyComing[1]=32
  1979. Lev(4)\NastyKilled[1]=32
  1980. Lev(4)\ NastyCount[1]=4
  1981. Lev(4)\ ShotCount[1]=3
  1982. Lev(4)\ NastyType1[1]=22
  1983. Lev(4)\ NastyType2[1]=22
  1984. Lev(4)\ NastyType3[1]=22
  1985. Lev(4)\ NastyType4[1]=22
  1986. Lev(4)\   NastySpace[1]=25
  1987. Lev(4)\NShotSpace[1]=64
  1988. Lev(4)\NastyComing[2]=32
  1989. Lev(4)\NastyKilled[2]=32
  1990. Lev(4)\ NastyCount[2]=5
  1991. Lev(4)\ ShotCount[2]=4
  1992. Lev(4)\ NastyType1[2]=25
  1993. Lev(4)\ NastyType2[2]=25
  1994. Lev(4)\ NastyType3[2]=25
  1995. Lev(4)\ NastyType4[2]=25
  1996. Lev(4)\   NastySpace[2]=8
  1997. Lev(4)\NShotSpace[2]=2
  1998. Lev(4)\NastyComing[3]=32
  1999. Lev(4)\NastyKilled[3]=32
  2000. Lev(4)\ NastyCount[3]=4
  2001. Lev(4)\ ShotCount[3]=4
  2002. Lev(4)\ NastyType1[3]=23
  2003. Lev(4)\ NastyType2[3]=23
  2004. Lev(4)\ NastyType3[3]=23
  2005. Lev(4)\ NastyType4[3]=23
  2006. Lev(4)\   NastySpace[3]=25
  2007. Lev(4)\NShotSpace[3]=48
  2008. Lev(4)\NastyComing[4]=24
  2009. Lev(4)\NastyKilled[4]=24
  2010. Lev(4)\ NastyCount[4]=4
  2011. Lev(4)\ ShotCount[4]=4
  2012. Lev(4)\ NastyType1[4]=27
  2013. Lev(4)\ NastyType2[4]=27
  2014. Lev(4)\ NastyType3[4]=27
  2015. Lev(4)\ NastyType4[4]=28
  2016. Lev(4)\   NastySpace[4]=25
  2017. Lev(4)\NShotSpace[4]=32
  2018. Lev(4)\NastyComing[5]=24
  2019. Lev(4)\NastyKilled[5]=24
  2020. Lev(4)\ NastyCount[5]=4
  2021. Lev(4)\ ShotCount[5]=4
  2022. Lev(4)\ NastyType1[5]=24
  2023. Lev(4)\ NastyType2[5]=24
  2024. Lev(4)\ NastyType3[5]=24
  2025. Lev(4)\ NastyType4[5]=24
  2026. Lev(4)\   NastySpace[5]=15
  2027. Lev(4)\NShotSpace[5]=64
  2028. Lev(4)\NastyComing[6]=32
  2029. Lev(4)\NastyKilled[6]=32
  2030. Lev(4)\ NastyCount[6]=5
  2031. Lev(4)\ ShotCount[6]=4
  2032. Lev(4)\ NastyType1[6]=25
  2033. Lev(4)\ NastyType2[6]=25
  2034. Lev(4)\ NastyType3[6]=26
  2035. Lev(4)\ NastyType4[6]=26
  2036. Lev(4)\   NastySpace[6]=8
  2037. Lev(4)\NShotSpace[6]=32
  2038. Lev(4)\NastyComing[7]=32
  2039. Lev(4)\NastyKilled[7]=32
  2040. Lev(4)\ NastyCount[7]=4
  2041. Lev(4)\ ShotCount[7]=4
  2042. Lev(4)\ NastyType1[7]=22
  2043. Lev(4)\ NastyType2[7]=22
  2044. Lev(4)\ NastyType3[7]=27
  2045. Lev(4)\ NastyType4[7]=27
  2046. Lev(4)\   NastySpace[7]=25
  2047. Lev(4)\NShotSpace[7]=32
  2048. Lev(4)\NastyComing[8]=32
  2049. Lev(4)\NastyKilled[8]=32
  2050. Lev(4)\ NastyCount[8]=4
  2051. Lev(4)\ ShotCount[8]=4
  2052. Lev(4)\ NastyType1[8]=22
  2053. Lev(4)\ NastyType2[8]=23
  2054. Lev(4)\ NastyType3[8]=23
  2055. Lev(4)\ NastyType4[8]=28
  2056. Lev(4)\   NastySpace[8]=15
  2057. Lev(4)\NShotSpace[8]=32
  2058. Lev(4)\NastyComing[9]=2
  2059. Lev(4)\NastyKilled[9]=2
  2060. Lev(4)\ NastyCount[9]=1
  2061. Lev(4)\ ShotCount[9]=4
  2062. Lev(4)\ NastyType1[9]=29
  2063. Lev(4)\ NastyType2[9]=29
  2064. Lev(4)\ NastyType3[9]=29
  2065. Lev(4)\ NastyType4[9]=29
  2066. Lev(4)\   NastySpace[9]=50
  2067. Lev(4)\NShotSpace[9]=40
  2068.  
  2069. Lev(5)\             R=0
  2070. Lev(5)\             G=0
  2071. Lev(5)\             B=5
  2072. Lev(5)\       Counter=0
  2073. Lev(5)\NastyComing[0]=16
  2074. Lev(5)\NastyKilled[0]=16
  2075. Lev(5)\ NastyCount[0]=2
  2076. Lev(5)\ ShotCount[0]=5
  2077. Lev(5)\ NastyType1[0]=30
  2078. Lev(5)\ NastyType2[0]=30
  2079. Lev(5)\ NastyType3[0]=30
  2080. Lev(5)\ NastyType4[0]=30
  2081. Lev(5)\   NastySpace[0]=40
  2082. Lev(5)\NShotSpace[0]=64
  2083. Lev(5)\NastyComing[1]=16
  2084. Lev(5)\NastyKilled[1]=16
  2085. Lev(5)\ NastyCount[1]=2
  2086. Lev(5)\ ShotCount[1]=5
  2087. Lev(5)\ NastyType1[1]=31
  2088. Lev(5)\ NastyType2[1]=31
  2089. Lev(5)\ NastyType3[1]=32
  2090. Lev(5)\ NastyType4[1]=32
  2091. Lev(5)\   NastySpace[1]=25
  2092. Lev(5)\NShotSpace[1]=64
  2093. Lev(5)\NastyComing[2]=24
  2094. Lev(5)\NastyKilled[2]=24
  2095. Lev(5)\ NastyCount[2]=4
  2096. Lev(5)\ ShotCount[2]=5
  2097. Lev(5)\ NastyType1[2]=2
  2098. Lev(5)\ NastyType2[2]=2
  2099. Lev(5)\ NastyType3[2]=13
  2100. Lev(5)\ NastyType4[2]=13
  2101. Lev(5)\   NastySpace[2]=25
  2102. Lev(5)\NShotSpace[2]=32
  2103. Lev(5)\NastyComing[3]=16
  2104. Lev(5)\NastyKilled[3]=16
  2105. Lev(5)\ NastyCount[3]=2
  2106. Lev(5)\ ShotCount[3]=5
  2107. Lev(5)\ NastyType1[3]=30
  2108. Lev(5)\ NastyType2[3]=30
  2109. Lev(5)\ NastyType3[3]=31
  2110. Lev(5)\ NastyType4[3]=31
  2111. Lev(5)\   NastySpace[3]=25
  2112. Lev(5)\NShotSpace[3]=64
  2113. Lev(5)\NastyComing[4]=24
  2114. Lev(5)\NastyKilled[4]=24
  2115. Lev(5)\ NastyCount[4]=3
  2116. Lev(5)\ ShotCount[4]=5
  2117. Lev(5)\ NastyType1[4]=13
  2118. Lev(5)\ NastyType2[4]=15
  2119. Lev(5)\ NastyType3[4]=32
  2120. Lev(5)\ NastyType4[4]=32
  2121. Lev(5)\   NastySpace[4]=25
  2122. Lev(5)\NShotSpace[4]=48
  2123. Lev(5)\NastyComing[5]=32
  2124. Lev(5)\NastyKilled[5]=32
  2125. Lev(5)\ NastyCount[5]=5
  2126. Lev(5)\ ShotCount[5]=4
  2127. Lev(5)\ NastyType1[5]=33
  2128. Lev(5)\ NastyType2[5]=33
  2129. Lev(5)\ NastyType3[5]=33
  2130. Lev(5)\ NastyType4[5]=33
  2131. Lev(5)\   NastySpace[5]=5
  2132. Lev(5)\NShotSpace[5]=64
  2133. Lev(5)\NastyComing[6]=32
  2134. Lev(5)\NastyKilled[6]=32
  2135. Lev(5)\ NastyCount[6]=4
  2136. Lev(5)\ ShotCount[6]=4
  2137. Lev(5)\ NastyType1[6]=9
  2138. Lev(5)\ NastyType2[6]=10
  2139. Lev(5)\ NastyType3[6]=10
  2140. Lev(5)\ NastyType4[6]=11
  2141. Lev(5)\   NastySpace[6]=20
  2142. Lev(5)\NShotSpace[6]=48
  2143. Lev(5)\NastyComing[7]=24
  2144. Lev(5)\NastyKilled[7]=24
  2145. Lev(5)\ NastyCount[7]=3
  2146. Lev(5)\ ShotCount[7]=4
  2147. Lev(5)\ NastyType1[7]=15
  2148. Lev(5)\ NastyType2[7]=15
  2149. Lev(5)\ NastyType3[7]=27
  2150. Lev(5)\ NastyType4[7]=27
  2151. Lev(5)\   NastySpace[7]=25
  2152. Lev(5)\NShotSpace[7]=32
  2153. Lev(5)\NastyComing[8]=24
  2154. Lev(5)\NastyKilled[8]=24
  2155. Lev(5)\ NastyCount[8]=2
  2156. Lev(5)\ ShotCount[8]=5
  2157. Lev(5)\ NastyType1[8]=30
  2158. Lev(5)\ NastyType2[8]=30
  2159. Lev(5)\ NastyType3[8]=31
  2160. Lev(5)\ NastyType4[8]=32
  2161. Lev(5)\   NastySpace[8]=25
  2162. Lev(5)\NShotSpace[8]=64
  2163. Lev(5)\NastyComing[9]=1
  2164. Lev(5)\NastyKilled[9]=1
  2165. Lev(5)\ NastyCount[9]=1
  2166. Lev(5)\ ShotCount[9]=4
  2167. Lev(5)\ NastyType1[9]=34
  2168. Lev(5)\ NastyType2[9]=34
  2169. Lev(5)\ NastyType3[9]=34
  2170. Lev(5)\ NastyType4[9]=34
  2171. Lev(5)\   NastySpace[9]=127
  2172. Lev(5)\NShotSpace[9]=8
  2173.  
  2174. Lev(6)\             R=2
  2175. Lev(6)\             G=2
  2176. Lev(6)\             B=2
  2177. Lev(6)\       Counter=0
  2178. Lev(6)\NastyComing[0]=32
  2179. Lev(6)\NastyKilled[0]=32
  2180. Lev(6)\ NastyCount[0]=5
  2181. Lev(6)\ ShotCount[0]=3
  2182. Lev(6)\ NastyType1[0]=0
  2183. Lev(6)\ NastyType2[0]=0
  2184. Lev(6)\ NastyType3[0]=0
  2185. Lev(6)\ NastyType4[0]=0
  2186. Lev(6)\   NastySpace[0]=8
  2187. Lev(6)\NShotSpace[0]=32
  2188. Lev(6)\NastyComing[1]=32
  2189. Lev(6)\NastyKilled[1]=32
  2190. Lev(6)\ NastyCount[1]=4
  2191. Lev(6)\ ShotCount[1]=4
  2192. Lev(6)\ NastyType1[1]=3
  2193. Lev(6)\ NastyType2[1]=3
  2194. Lev(6)\ NastyType3[1]=14
  2195. Lev(6)\ NastyType4[1]=14
  2196. Lev(6)\   NastySpace[1]=15
  2197. Lev(6)\NShotSpace[1]=64
  2198. Lev(6)\NastyComing[2]=24
  2199. Lev(6)\NastyKilled[2]=24
  2200. Lev(6)\ NastyCount[2]=5
  2201. Lev(6)\ ShotCount[2]=5
  2202. Lev(6)\ NastyType1[2]=35
  2203. Lev(6)\ NastyType2[2]=35
  2204. Lev(6)\ NastyType3[2]=35
  2205. Lev(6)\ NastyType4[2]=35
  2206. Lev(6)\   NastySpace[2]=40
  2207. Lev(6)\NShotSpace[2]=48
  2208. Lev(6)\NastyComing[3]=32
  2209. Lev(6)\NastyKilled[3]=32
  2210. Lev(6)\ NastyCount[3]=5
  2211. Lev(6)\ ShotCount[3]=5
  2212. Lev(6)\ NastyType1[3]=25
  2213. Lev(6)\ NastyType2[3]=25
  2214. Lev(6)\ NastyType3[3]=26
  2215. Lev(6)\ NastyType4[3]=26
  2216. Lev(6)\   NastySpace[3]=8
  2217. Lev(6)\NShotSpace[3]=48
  2218. Lev(6)\NastyComing[4]=32
  2219. Lev(6)\NastyKilled[4]=32
  2220. Lev(6)\ NastyCount[4]=4
  2221. Lev(6)\ ShotCount[4]=4
  2222. Lev(6)\ NastyType1[4]=3
  2223. Lev(6)\ NastyType2[4]=3
  2224. Lev(6)\ NastyType3[4]=17
  2225. Lev(6)\ NastyType4[4]=17
  2226. Lev(6)\   NastySpace[4]=25
  2227. Lev(6)\NShotSpace[4]=64
  2228. Lev(6)\NastyComing[5]=24
  2229. Lev(6)\NastyKilled[5]=24
  2230. Lev(6)\ NastyCount[5]=3
  2231. Lev(6)\ ShotCount[5]=4
  2232. Lev(6)\ NastyType1[5]=30
  2233. Lev(6)\ NastyType2[5]=31
  2234. Lev(6)\ NastyType3[5]=32
  2235. Lev(6)\ NastyType4[5]=35
  2236. Lev(6)\   NastySpace[5]=20
  2237. Lev(6)\NShotSpace[5]=48
  2238. Lev(6)\NastyComing[6]=16
  2239. Lev(6)\NastyKilled[6]=16
  2240. Lev(6)\ NastyCount[6]=4
  2241. Lev(6)\ ShotCount[6]=5
  2242. Lev(6)\ NastyType1[6]=1
  2243. Lev(6)\ NastyType2[6]=4
  2244. Lev(6)\ NastyType3[6]=8
  2245. Lev(6)\ NastyType4[6]=19
  2246. Lev(6)\   NastySpace[6]=8
  2247. Lev(6)\NShotSpace[6]=48
  2248. Lev(6)\NastyComing[7]=24
  2249. Lev(6)\NastyKilled[7]=24
  2250. Lev(6)\ NastyCount[7]=4
  2251. Lev(6)\ ShotCount[7]=4
  2252. Lev(6)\ NastyType1[7]=22
  2253. Lev(6)\ NastyType2[7]=23
  2254. Lev(6)\ NastyType3[7]=24
  2255. Lev(6)\ NastyType4[7]=28
  2256. Lev(6)\   NastySpace[7]=15
  2257. Lev(6)\NShotSpace[7]=48
  2258. Lev(6)\NastyComing[8]=24
  2259. Lev(6)\NastyKilled[8]=24
  2260. Lev(6)\ NastyCount[8]=4
  2261. Lev(6)\ ShotCount[8]=4
  2262. Lev(6)\ NastyType1[8]=11
  2263. Lev(6)\ NastyType2[8]=16
  2264. Lev(6)\ NastyType3[8]=24
  2265. Lev(6)\ NastyType4[8]=35
  2266. Lev(6)\   NastySpace[8]=15
  2267. Lev(6)\NShotSpace[8]=48
  2268. Lev(6)\NastyComing[9]=1
  2269. Lev(6)\NastyKilled[9]=1
  2270. Lev(6)\ NastyCount[9]=1
  2271. Lev(6)\ ShotCount[9]=9
  2272. Lev(6)\ NastyType1[9]=36
  2273. Lev(6)\ NastyType2[9]=36
  2274. Lev(6)\ NastyType3[9]=36
  2275. Lev(6)\ NastyType4[9]=36
  2276. Lev(6)\   NastySpace[9]=127
  2277. Lev(6)\NShotSpace[9]=16
  2278.  
  2279. ; Array for equilateral appearing spaceships
  2280.  
  2281. Dim G.Nasty(10)
  2282.  
  2283. ; Array for meany bullets
  2284.  
  2285. Dim F.Shot(10)
  2286.  
  2287. BLITZ
  2288.  
  2289. Statement Clear{}
  2290. Cls 0
  2291. UnQueue 0
  2292. UnQueue 1
  2293. End Statement
  2294.  
  2295. BlitzKeys On
  2296.  
  2297. ; Initialise Bitmaps, 2 Queues (Double-Buffering) and Displays
  2298.  
  2299. BitMap 0,320,256*5,1 ; Interleaved setup
  2300. BitMap 1,320,256*5,1 ;
  2301. patchbitmap{0,2}     ; Display these pseudo-bitmaps
  2302. patchbitmap{1,3}     ;
  2303. #txt=5
  2304. BitPlanesBitMap 2,#txt,2
  2305. BitPlanesBitMap 3,#txt+1,2
  2306.  
  2307. Queue 0,50
  2308. Queue 1,50
  2309.  
  2310. InitCopList 0,54,238,$5,8,32,16 ;
  2311. #BPLCON2=%0000000000100100
  2312. ;DisplayAdjust 0,-4,8,-8,16,-16  ; NOW USING LESS SCREEN
  2313. DisplayControls 0,#BPLCON2,0,0
  2314. DisplayBitMap 0,2
  2315. CreateDisplay 0
  2316.  
  2317. InitShape 160,16,256,2
  2318. GetaSprite 0,160 : GetaSprite 1,160 : GetaSprite 2,160 : GetaSprite 3,160
  2319. init_star_data { Peek.l (Addr Sprite(0)),?star_speeds } : display_star{0}
  2320. init_star_data { Peek.l (Addr Sprite(1)),?star_speeds+14 } : display_star{1}
  2321. init_star_data { Peek.l (Addr Sprite(2)),?star_speeds+29 } : display_star{2}
  2322. init_star_data { Peek.l (Addr Sprite(3)),?star_speeds+44 } : display_star{3}
  2323.  
  2324. starspeed.b=2
  2325.  
  2326. SetInt 5
  2327.   b=QWrap(b+1,0,6)
  2328.   If b=0               Then scroll_stars_y_down{Peek.l(Addr Sprite(2)),starspeed}
  2329.   If b=0 OR b=3        Then scroll_stars_y_down{Peek.l(Addr Sprite(3)),starspeed}
  2330.   If b=0 OR b=2 OR b=4 Then scroll_stars_y_down{Peek.l(Addr Sprite(1)),starspeed}
  2331.                             scroll_stars_y_down{Peek.l(Addr Sprite(0)),starspeed}
  2332. End SetInt
  2333.  
  2334. ;------------------------------------------------------------------
  2335.  
  2336. .TitelPict:
  2337. Pictcurrent.w=-1
  2338. Sound 11,12
  2339.  
  2340. PickShip.b=1 ; Spaceship selection (1-5)
  2341. PickLevel.b=1  ; Level selection (1-6)
  2342. Points.l=0     ; Players Health - dies when it reaches 0(?)
  2343.  
  2344. Dim LevelStatus.b(6)  ; 0=Speedaft, 1=Anwaehlbar, 2=Muss erPlayt werden
  2345. LevelStatus(0)=1
  2346. LevelStatus(1)=2
  2347. LevelStatus(2)=2
  2348. LevelStatus(3)=2
  2349. LevelStatus(4)=2
  2350. LevelStatus(5)=2
  2351.  
  2352. Dim ShipStatus.b(5) ; 0=destroyed, 1=Anwaehlbar, 2=Muss erPlayt werden
  2353. ShipStatus(0)=1
  2354. ShipStatus(1)=2
  2355. ShipStatus(2)=2
  2356. ShipStatus(3)=2
  2357. ShipStatus(4)=2
  2358.  
  2359. PalRGB 0,0,0,0,0
  2360. DisplayBitMap 0,2
  2361. DisplayPalette 0,0
  2362. Use BitMap 0
  2363. Clear{}
  2364.  
  2365. Format ""
  2366.  
  2367. UnQueue 0
  2368. UnQueue 1
  2369.  
  2370. For i.b=1 To 50
  2371.   QBlit 0,Rnd(20),Rnd(288),(Int(Rnd(55)+8))*5
  2372.   QBlit 1,Rnd(20),Rnd(288),(Int(Rnd(55)+8))*5
  2373. Next i
  2374.  
  2375. Blit 108,19,80
  2376. Blit 109,189,345
  2377.  
  2378. BitMapOutput #txt
  2379.     PLoc{0,13,"  BY MICHAEL ROSSKOPF & WIREMU TEKANI  "}
  2380.     PLoc{0,15,"  Version 1.5   ----   September 1999  "}
  2381.  
  2382. Fire.b=1
  2383.  
  2384. Repeat
  2385.  
  2386.   VWait
  2387.  
  2388.   j.b=Rnd(64)
  2389.   If j=0 Then Sound 0,Rnd(15)+1
  2390.  
  2391.   Pictcurrent+1
  2392.  
  2393.   If Pictcurrent=0
  2394.     PLoc{0,17,"                                        "}
  2395.     PLoc{0,19,"               FREE PLAY                "}
  2396.     PLoc{0,21,"                                        "}
  2397.     PLoc{0,23,"   PRESS FIRE TO LAUNCH THE MISSION,    "}
  2398.     PLoc{0,25,"              ESC TO QUIT               "}
  2399.     PLoc{0,27,"        HIGHSCORE FOLLOWS SHORTLY       "}
  2400.   EndIf
  2401.   If Pictcurrent=400
  2402.     PLoc{0,17,"                                        "}
  2403.     PLoc{0,19,"                                        "}
  2404.     PLoc{0,21,"                                        "}
  2405.     PLoc{0,23,"                                        "}
  2406.     PLoc{0,25,"                                        "}
  2407.     PLoc{0,27,"                                        "}
  2408.     PLoc{0,17,"   ALL TIME PILOTS (PRESS D TO DELETE)  "}
  2409.     PLoc{0,19,"   1. "+HighscoreNamen$(0)}
  2410.     PLoc{0,21,"   2. "+HighscoreNamen$(1)}
  2411.     PLoc{0,23,"   3. "+HighscoreNamen$(2)}
  2412.     PLoc{0,25,"   4. "+HighscoreNamen$(3)}
  2413.     PLoc{0,27,"   5. "+HighscoreNamen$(4)}
  2414.     PLoc{18,19,Str$(HighscorePoints(0))}
  2415.     PLoc{18,21,Str$(HighscorePoints(1))}
  2416.     PLoc{18,23,Str$(HighscorePoints(2))}
  2417.     PLoc{18,25,Str$(HighscorePoints(3))}
  2418.     PLoc{18,27,Str$(HighscorePoints(4))}
  2419.     PLoc{28,19,"Mission "+Str$(HighscoreLevel(0))}
  2420.     PLoc{28,21,"Mission "+Str$(HighscoreLevel(1))}
  2421.     PLoc{28,23,"Mission "+Str$(HighscoreLevel(2))}
  2422.     PLoc{28,25,"Mission "+Str$(HighscoreLevel(3))}
  2423.     PLoc{28,27,"Mission "+Str$(HighscoreLevel(4))}
  2424.     i=-1
  2425.     Repeat
  2426.       i=i+1
  2427.       If HighscoreLevel(i)=1 Then PLoc{35,19+(i ASL 1)," "}
  2428.     Until i=4
  2429.   EndIf
  2430.  
  2431.   If Pictcurrent=799 Then Pictcurrent=-1
  2432.  
  2433.   If RawStatus(69)=-1 AND Fire=0 Then Goto Ende
  2434.   If RawStatus(34)=-1 AND Pictcurrent>399
  2435.     HighscoreNamen$(0)="Michael "
  2436.     HighscoreNamen$(1)="Marco   "
  2437.     HighscoreNamen$(2)="Wiremu T"
  2438.     HighscoreNamen$(3)="Michael "
  2439.     HighscoreNamen$(4)="Marco   "
  2440.     HighscorePoints(0)=50000
  2441.     HighscorePoints(1)=40000
  2442.     HighscorePoints(2)=30000
  2443.     HighscorePoints(3)=20000
  2444.     HighscorePoints(4)=10000
  2445.     HighscoreLevel(0)=5
  2446.     HighscoreLevel(1)=4
  2447.     HighscoreLevel(2)=3
  2448.     HighscoreLevel(3)=2
  2449.     HighscoreLevel(4)=1
  2450.     Pictcurrent=399
  2451.   EndIf
  2452.   If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0 Then Goto Levelstart
  2453.  
  2454.   If Joyb(1)=0 AND RawStatus(69)=0 AND RawStatus(96)=0 Then Fire=0
  2455.  
  2456. Forever
  2457.  
  2458. ;------------------------------------------------------------------
  2459.  
  2460. .Levelstart:
  2461.  
  2462. Sound 11,12
  2463.  
  2464. PalRGB 0,0,0,0,0
  2465. DisplayBitMap 0,2
  2466. DisplayPalette 0,0
  2467. Use BitMap 0
  2468. Clear{}
  2469.  
  2470. BitMapOutput #txt
  2471.  
  2472. ; Check which ship player can use
  2473. i.b=0
  2474. j.b=5
  2475. Repeat
  2476.   j=j-1
  2477.   If ShipStatus(j)=1 Then i=i+1:PickShip=j+1
  2478. Until j=0
  2479.  
  2480. If i=1
  2481.   PLoc{0,21,"YOUR SHIP FOR THIS MISSION (PRESS FIRE) "}
  2482. Else
  2483.   PLoc{0,21,"SELECT YOUR SHIP (LEFT, RIGHT, FIRE)    "}
  2484. EndIf
  2485. PLoc{13,23,"NAME  : "}
  2486. PLoc{13,24,"CLASS : "}
  2487. PLoc{13,26,"SPEED : "}
  2488. PLoc{13,27,"SHIELD: "}
  2489. PLoc{13,28,"WEAPON: "}
  2490.  
  2491. ; Check which level player can do
  2492. i.b=0
  2493. j.b=6
  2494. Repeat
  2495.   j=j-1
  2496.   If LevelStatus(j)=1 Then i=i+1:PickLevel=j+1
  2497. Until j=0
  2498. If i>1
  2499.   PLoc{0,19,"SELECT A MISSION (UP, DOWN)             "}
  2500. Else
  2501.   PLoc{0,19,"                                        "}
  2502. EndIf
  2503.  
  2504. Fire.b=1
  2505. i.b=10
  2506.  
  2507. Repeat
  2508.  
  2509.   VWait
  2510.   UnQueue 0
  2511.   QBlit 0,S(PickShip)\SPict,51-(S(PickShip)\SWidth ASR 1),(231-S(PickShip)\SHeight)*5
  2512. Select PickLevel
  2513. Case 1
  2514. PLoc{0,00,"LOOK FOR LOCATION                     "}
  2515. PLoc{0,01,"                                      "}
  2516. PLoc{0,02,"Our scanners have located an enormous "}
  2517. PLoc{0,03,"planetoid which seems to have jumped  "}
  2518. PLoc{0,04,"into our system, heading for our main "}
  2519. PLoc{0,05,"planet, NEW PORT.                     "}
  2520. PLoc{0,06,"                                      "}
  2521. PLoc{0,07,"We want you to fly to the planetoid   "}
  2522. PLoc{0,08,"to get more information, but be       "}
  2523. PLoc{0,09,"careful!                              "}
  2524. PLoc{0,10,"                                      "}
  2525. PLoc{0,11,"Longrange-scans show small objects    "}
  2526. PLoc{0,12,"that fly like our guardian drones.    "}
  2527. PLoc{0,13,"                                      "}
  2528. PLoc{0,14,"We may be under attack.  Clarify the  "}
  2529. PLoc{0,15,"situation.                            "}
  2530. PLoc{0,16,"                                      "}
  2531. PLoc{0,17,"Good luck!                            "}
  2532. PLoc{0,18,"                                      "}
  2533. Case 2
  2534. PLoc{0,00,"SHIELD GENERATOR: BLOOD FOG           "}
  2535. PLoc{0,01,"                                      "}
  2536. PLoc{0,02,"One of the shield-generators is in    "}
  2537. PLoc{0,03,"a location called the Blood Fog,      "}
  2538. PLoc{0,04,"where there are gas molecules that    "}
  2539. PLoc{0,05,"gleam red in the sun.                 "}
  2540. PLoc{0,06,"                                      "}
  2541. PLoc{0,07,"You will be up aginst principal       "}
  2542. PLoc{0,08,"Gretchin-fighters.                    "}
  2543. PLoc{0,09,"                                      "}
  2544. PLoc{0,10,"Be careful, they manoevre quickly.    "}
  2545. PLoc{0,11,"In front of the generator is a        "}
  2546. PLoc{0,12,"very heavy battlecruiser.             "}
  2547. PLoc{0,13,"                                      "}
  2548. PLoc{0,14,"For this mission, you'll need a       "}
  2549. PLoc{0,15,"combination of speed and firepower!   "}
  2550. PLoc{0,16,"                                      "}
  2551. PLoc{0,17,"See you later (I hope!)               "}
  2552. PLoc{0,18,"                                      "}
  2553. Case 3
  2554. PLoc{0,00,"SHIELD GENERATOR: ASTEROIDS           "}
  2555. PLoc{0,01,"                                      "}
  2556. PLoc{0,02,"One of the shield-generators is on    "}
  2557. PLoc{0,03,"the dark side of the planetoid.       "}
  2558. PLoc{0,04,"                                      "}
  2559. PLoc{0,05,"We believe there are many asteroids   "}
  2560. PLoc{0,06,"and objects that have broken off of   "}
  2561. PLoc{0,07,"it.                                   "}
  2562. PLoc{0,08,"                                      "}
  2563. PLoc{0,09,"These asteroids are very hard to      "}
  2564. PLoc{0,10,"crack.  Take a heavy ship with        "}
  2565. PLoc{0,11,"good shields and lots of firepower.   "}
  2566. PLoc{0,12,"                                      "}
  2567. PLoc{0,13,"DO IT!                                "}
  2568. PLoc{0,14,"                                      "}
  2569. PLoc{0,15,"                                      "}
  2570. PLoc{0,16,"                                      "}
  2571. PLoc{0,17,"                                      "}
  2572. PLoc{0,18,"                                      "}
  2573. Case 4
  2574. PLoc{0,00,"SHIELD GENERATOR: STRANGE SHIPS       "}
  2575. PLoc{0,01,"                                      "}
  2576. PLoc{0,02,"We've detected the shield generator is"}
  2577. PLoc{0,03,"being protected by ships we think are "}
  2578. PLoc{0,04,"from an UNKNOWN alien species.        "}
  2579. PLoc{0,05,"                                      "}
  2580. PLoc{0,06,"We don't know how strong they are     "}
  2581. PLoc{0,07,"so we have to assume the worst.       "}
  2582. PLoc{0,08,"                                      "}
  2583. PLoc{0,09,"Some of them are very fast so don't   "}
  2584. PLoc{0,10,"take a slow ship.                     "}
  2585. PLoc{0,11,"                                      "}
  2586. PLoc{0,12,"We need more information about them.  "}
  2587. PLoc{0,13,"They're not hard to find.  They move  "}
  2588. PLoc{0,14,"in large green-cloud formations.         "}
  2589. PLoc{0,15,"                                      "}
  2590. PLoc{0,16,"Show them what a good pilot can do!   "}
  2591. PLoc{0,17,"                                      "}
  2592. PLoc{0,18,"                                      "}
  2593. Case 5
  2594. PLoc{0,00,"ENEMY ATMOSPHERE                      "}
  2595. PLoc{0,01,"                                      "}
  2596. PLoc{0,02,"The generators and the planetoids     "}
  2597. PLoc{0,03,"shields are gone, but it's still      "}
  2598. PLoc{0,04,"heading for New Port.                 "}
  2599. PLoc{0,05,"                                      "}
  2600. PLoc{0,06,"We've seen a structure that looks like"}
  2601. PLoc{0,07,"an interstellar cannon. It could turn "}
  2602. PLoc{0,08,"New Port into an asteroid belt.       "}
  2603. PLoc{0,09,"                                      "}
  2604. PLoc{0,10,"Dive into the thin atmosphere of the  "}
  2605. PLoc{0,11,"planetoid and find a weak-spot.       "}
  2606. PLoc{0,12,"                                      "}
  2607. PLoc{0,13,"Everything counts on you!             "}
  2608. PLoc{0,14,"                                      "}
  2609. PLoc{0,15,"P.S. Look out for LARGE ships.        "}
  2610. PLoc{0,16,"                                      "}
  2611. PLoc{0,17,"                                      "}
  2612. PLoc{0,18,"                                      "}
  2613. Case 6
  2614. PLoc{0,00,"FINAL FIGHT"}
  2615. PLoc{0,01,"                                      "}
  2616. PLoc{0,02,"We found an entrance in the planetoid "}
  2617. PLoc{0,03,"with ships flying in and out of it.   "}
  2618. PLoc{0,04,"This must be enemy command central.   "}
  2619. PLoc{0,05,"                                      "}
  2620. PLoc{0,06,"Here lies the evil brain that wants to"}
  2621. PLoc{0,07,"destroy our planet and our lives. Here"}
  2622. PLoc{0,08,"you'll meet your final adversary.     "}
  2623. PLoc{0,09,"                                      "}
  2624. PLoc{0,10,"But time is short: The space cannon on"}
  2625. PLoc{0,11,"the planetoid has turned on New Port. "}
  2626. PLoc{0,12,"                                      "}
  2627. PLoc{0,13,"So pick a ship and show the evil brain"}
  2628. PLoc{0,14,"who annaihilates who.  Take him out!  "}
  2629. PLoc{0,15,"                                      "}
  2630. PLoc{0,16,"A million lives are depending on you! "}
  2631. PLoc{0,17,"                                      "}
  2632. PLoc{0,18,"                                      "}
  2633. End Select
  2634.  
  2635. Select PickShip
  2636.   Case 1
  2637.     PLoc{21,23,"HONEY BEE         "}
  2638.     PLoc{21,24,"PATROL SHIP       "}
  2639.     PLoc{21,26,"FAST              "}
  2640.     PLoc{21,27,"VERY LOW          "}
  2641.     PLoc{21,28,"2 SECURITY LASERS "}
  2642.   Case 2
  2643.     PLoc{21,23,"VINDICATOR        "}
  2644.     PLoc{21,24,"FIGHTER           "}
  2645.     PLoc{21,26,"MEDIUM            "}
  2646.     PLoc{21,27,"LOW               "}
  2647.     PLoc{21,28,"4 ION GUNS        "}
  2648.   Case 3
  2649.     PLoc{21,23,"CANNONBOAT        "}
  2650.     PLoc{21,24,"HEAVY SUPPORT     "}
  2651.     PLoc{21,26,"SLOW              "}
  2652.     PLoc{21,27,"GREAT             "}
  2653.     PLoc{21,28,"8 MILITARY LASERS "}
  2654.   Case 4
  2655.     PLoc{21,23,"SUPERNOVA         "}
  2656.     PLoc{21,24,"EXPERIMENTAL CRAFT"}
  2657.     PLoc{21,26,"MEDIUM            "}
  2658.     PLoc{21,27,"MEDIUM            "}
  2659.     PLoc{21,28,"2 PLASMA GUNS     "}
  2660.   Case 5
  2661.     PLoc{21,23,"BATTLEMASTER      "}
  2662.     PLoc{21,24,"DESTROYER         "}
  2663.     PLoc{21,26,"SLOW              "}
  2664.     PLoc{21,27,"MAXIMUM           "}
  2665.     PLoc{21,28,"TORPEDO LAUNCHER  "}
  2666. End Select
  2667.  
  2668.   If RawStatus(69)=-1 Then Goto TitelPict
  2669.   If Joyx(1)=-1 OR RawStatus(79)=-1 AND PickShip>1 AND i=0
  2670.     j.b=PickShip-1
  2671.     Repeat
  2672.       j=j-1
  2673.       If ShipStatus(j)=1 Then PickShip=PickShip-((PickShip-1)-j):i=2:j=0:Sound 11,12
  2674.     Until j=0
  2675.   EndIf
  2676.   If Joyx(1)=1 OR RawStatus(78)=-1 AND PickShip<5 AND i=0
  2677.     j.b=PickShip-1
  2678.     Repeat
  2679.       j=j+1
  2680.       If ShipStatus(j)=1 Then PickShip=PickShip+(j-(PickShip-1)):i=2:j=4:Sound 11,12
  2681.     Until j=4
  2682.   EndIf
  2683.   If Joyy(1)=1 OR RawStatus(77)=-1 AND PickLevel>1 AND i=0
  2684.     j.b=PickLevel-1
  2685.     Repeat
  2686.       j=j-1
  2687.       If LevelStatus(j)=1 Then PickLevel=PickLevel-((PickLevel-1)-j):i=2:j=0:Sound 11,12
  2688.     Until j=0
  2689.   EndIf
  2690.   If Joyy(1)=-1 OR RawStatus(76)=-1 AND PickLevel<6 AND i=0
  2691.     j.b=PickLevel-1
  2692.     Repeat
  2693.       j=j+1
  2694.       If LevelStatus(j)=1 Then PickLevel=PickLevel+(j-(PickLevel-1)):i=2:j=5:Sound 11,12
  2695.     Until j=5
  2696.   EndIf
  2697.   If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0 Then j=10
  2698.  
  2699.   If i>0 Then i=i-1
  2700.   If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
  2701.  
  2702. Until j=10
  2703.  
  2704. BitMapOutput 2
  2705. For j.b=0 To 30
  2706. PLoc{0,j,"                                        "}
  2707. Next j
  2708.  
  2709. BitMapOutput #txt
  2710.  
  2711. PalRGB 0,0,Lev(PickLevel)\R,Lev(PickLevel)\G,Lev(PickLevel)\B
  2712. Flc.w=((Lev(PickLevel)\R+1)LSL8)+((Lev(PickLevel)\G+1)LSL4)+(Lev(PickLevel)\B+1)
  2713. DisplayPalette 0,0
  2714.  
  2715. PLoc{0,10,"              Get Ready               "}
  2716. Sound 6,3
  2717. i.b=6
  2718. Repeat
  2719.   VWait(5)
  2720.   i=i-1
  2721.   Format "0"
  2722.   PLoc{19,12,Str$(i)}
  2723. Until i=0
  2724. PLoc{0,10,"                                        "}
  2725. PLoc{19,12," "}
  2726.  
  2727. Fire.b=1 ; Prevent own Ship from firing immediately
  2728.  
  2729. ; Transfer of the powered Shipes out of List on users Variables
  2730. S(0)\  SPict=S(PickShip)\SPict
  2731. S(0)\  WPict=S(PickShip)\WPict
  2732. S(0)\ SWidth=S(PickShip)\SWidth
  2733. S(0)\  SHeight=S(PickShip)\SHeight
  2734. S(0)\ WWidth=S(PickShip)\WWidth
  2735. S(0)\  WHeight=S(PickShip)\WHeight
  2736. S(0)\ SSpeed=S(PickShip)\SSpeed
  2737. S(0)\ WSpeed=S(PickShip)\WSpeed
  2738. S(0)\ Shield=S(PickShip)\Shield
  2739. S(0)\Damage=S(PickShip)\Damage
  2740. S(0)\ WXplus=S(PickShip)\WXplus
  2741. S(0)\    WeaponDb=S(PickShip)\WeaponDb
  2742.  
  2743. ; Fixing the Position of the Shipes
  2744. S(0)\Sx=160-(S(0)\SWidth ASR 1)
  2745. S(0)\Sy=235-S(0)\SHeight
  2746.  
  2747. ; Transfer the powered Level on users Variables
  2748.  
  2749. Lev(0)\R=Lev(PickLevel)\R
  2750. Lev(0)\G=Lev(PickLevel)\G
  2751. Lev(0)\B=Lev(PickLevel)\B
  2752. Lev(0)\Counter=0
  2753. For i.b=0 To 10
  2754. Lev(0)\NastyComing[i]=Lev(PickLevel)\NastyComing[i]
  2755. Lev(0)\NastyKilled[i]=Lev(PickLevel)\NastyKilled[i]
  2756. Lev(0)\ NastyCount[i]=Lev(PickLevel)\NastyCount[i]
  2757. Lev(0)\ ShotCount[i]=Lev(PickLevel)\ShotCount[i]
  2758. Lev(0)\ NastyType1[i]=Lev(PickLevel)\NastyType1[i]
  2759. Lev(0)\ NastyType2[i]=Lev(PickLevel)\NastyType2[i]
  2760. Lev(0)\ NastyType3[i]=Lev(PickLevel)\NastyType3[i]
  2761. Lev(0)\ NastyType4[i]=Lev(PickLevel)\NastyType4[i]
  2762. Lev(0)\   NastySpace[i]=Lev(PickLevel)\NastySpace[i]
  2763. Lev(0)\NShotSpace[i]=Lev(PickLevel)\NShotSpace[i]
  2764. Next i
  2765.  
  2766. ; shooters, Nasty and Nastyshooters sitting on Status 0
  2767.  
  2768. S(0)\WStatus[0]=0
  2769. S(0)\WStatus[1]=0
  2770. For i.b=0 To 9
  2771.   G(i)\SStatus=0
  2772.   F(i)\Status=0
  2773. Next i
  2774. G(9)\trailCounter=0 ; Prevent, that Player by Hit eines Nastys finishing were
  2775.  
  2776. BitMapOutput #txt
  2777. Clear{}
  2778.   Format "000000"
  2779. PLoc{0,0,"SCORE: "+Str$(Points)}
  2780.   Format "00"
  2781. PLoc{20,0,"SHIELD: "+Str$(S(0)\Shield)+" / "+Str$(S(PickShip)\Shield)+"  "}
  2782. BitMapOutput #txt+1
  2783.   Format "000000"
  2784. PLoc{0,0,"SCORE: "+Str$(Points)}
  2785.   Format "00"
  2786. PLoc{20,0,"SHIELD: "+Str$(S(0)\Shield)+" / "+Str$(S(PickShip)\Shield)+"  "}
  2787.  
  2788.  
  2789. ; Mainpart
  2790.  
  2791. .Mainpart:
  2792.  
  2793. ._Score
  2794.   If expenditure>0 ; Update of the Score and Shield
  2795.    BitMapOutput #txt+db
  2796.    Format "000000"
  2797.    PLoc{7,0,Str$(Points)}
  2798.    Format "00"
  2799.    PLoc{28,0,Str$(S(0)\Shield)}
  2800.    expenditure-1
  2801.   EndIf
  2802.  
  2803.   VWait
  2804.  
  2805.   DisplayBitMap 0,2+db:db=1-db:Use BitMap db
  2806.  
  2807.   UnQueue db
  2808.  
  2809. ._Boom
  2810. ; Admin and description of the Explosionen
  2811.   i.b=-1
  2812.   Repeat       ; Cycle through 8 Ships blowing up + Your own
  2813.     i=i+1
  2814.     If G(i)\SStatus=2                         ; If exploding
  2815.       QBlit db,G(i)\trailCounter,G(i)\Sx,G(i)\Sy+((G(i)\Sy)LSL2)  ; draw boom
  2816.       G(i)\trailCounter+1                         ; next boompic
  2817.       If G(i)\trailCounter=25 Then G(i)\SStatus=0 ; finished? DEAD!
  2818.       If G(9)\trailCounter=25 Then Goto Ship_lost ; YOU'RE DEAD!
  2819.     EndIf
  2820.   Until i=9
  2821.  
  2822. ._PlayerFire
  2823. ; Admin and description the Bulletshooters
  2824. i.b=-1
  2825. Repeat
  2826.   i=i+1
  2827.   If F(i)\Status=1
  2828.     If F(i)\x<-F(i)\SpeedX OR F(i)\x>319-F(i)\Width-F(i)\SpeedX Then F(i)\x=319-F(i)\Width-F(i)\SpeedX:F(i)\Status=0
  2829.     If F(i)\Typ=2 ; LenkWeaponn
  2830.       If S(0)\Sx+(S(0)\SWidth ASR 1)<F(i)\x Then F(i)\x-1
  2831.       If S(0)\Sx+(S(0)\SWidth ASR 1)>F(i)\x Then F(i)\x+1
  2832.     EndIf
  2833.     If F(i)\y>253-F(i)\Height-F(i)\SpeedY Then F(i)\y=253-F(i)\Height-F(i)\SpeedY:F(i)\Status=0
  2834.     F(i)\x=F(i)\x+F(i)\SpeedX
  2835.     F(i)\y=F(i)\y+F(i)\SpeedY
  2836.     QBlit db,F(i)\Pict+(db&F(i)\WeaponDb),F(i)\x,F(i)\y+((F(i)\y)ASL2)
  2837.   EndIf
  2838. Until i=Lev(0)\ShotCount[Lev(0)\Counter]
  2839.  
  2840. ._NastyShips
  2841. ; Admin and description the Nastyischen Shipe
  2842.   i.b=-1
  2843.   Repeat
  2844.     i=i+1
  2845.     If G(i)\SStatus=1
  2846.       If G(i)\SMovTyp=0 ; Normale movements
  2847.         If G(i)\Sx<-G(i)\SSpeedX OR G(i)\Sx>319-G(i)\SWidth-G(i)\SSpeedX Then G(i)\SSpeedX=-G(i)\SSpeedX
  2848.         If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY
  2849.           G(i)\Sy=253-G(i)\SHeight-G(i)\SSpeedY:G(i)\SStatus=0
  2850.           Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
  2851.         EndIf
  2852.       EndIf
  2853.       If G(i)\SMovTyp=1 ; movements in vorbestimmten Bereich
  2854.         If G(i)\Sx<-G(i)\SSpeedX OR G(i)\SBorderX1>G(i)\Sx-G(i)\SSpeedX AND G(i)\SSpeedX<0 Then G(i)\SSpeedX=-G(i)\SSpeedX
  2855.         If G(i)\Sx>319-G(i)\SWidth-G(i)\SSpeedX OR G(i)\Sx>G(i)\SBorderX2+G(i)\SSpeedX AND G(i)\SSpeedX>0
  2856.           G(i)\SSpeedX=-G(i)\SSpeedX
  2857.         EndIf
  2858.         If G(i)\Sy<-G(i)\SSpeedY+8 OR G(i)\SBorderY1>G(i)\Sy-G(i)\SSpeedY AND G(i)\SSpeedY<0 Then G(i)\SSpeedY=-G(i)\SSpeedY
  2859.         If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY OR G(i)\Sy>G(i)\SBorderY2-G(i)\SSpeedY AND G(i)\SSpeedY>0
  2860.           G(i)\SSpeedY=-G(i)\SSpeedY
  2861.         EndIf
  2862.       EndIf
  2863.       If G(i)\SMovTyp=2 ; Kamikaze-movements
  2864.         If G(i)\Sx<S(0)\Sx AND G(i)\SSpeedX<0 Then G(i)\SSpeedX=-G(i)\SSpeedX
  2865.         If G(i)\Sx>S(0)\Sx AND G(i)\SSpeedX>0 Then G(i)\SSpeedX=-G(i)\SSpeedX
  2866.         If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY
  2867.           G(i)\Sy=253-G(i)\SHeight-G(i)\SSpeedY:G(i)\SStatus=0
  2868.           Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
  2869.         EndIf
  2870.       EndIf
  2871.       If G(i)\SMovTyp=3 ; movements on Headtrail
  2872.         If G(i)\trailCounter=L(G(i)\trailNr)\Counter[G(i)\trailSek]
  2873.           G(i)\trailCounter=0
  2874.           G(i)\trailSek=G(i)\trailSek+1
  2875.           G(i)\SSpeedX=L(G(i)\trailNr)\SpeedX[G(i)\trailSek]
  2876.           G(i)\SSpeedY=L(G(i)\trailNr)\SpeedY[G(i)\trailSek]
  2877.           If L(G(i)\trailNr)\Counter[G(i)\trailSek]=0
  2878.             G(i)\SSpeedX=L(G(i)\trailNr)\SpeedX[G(i)\trailSek]
  2879.             G(i)\SSpeedY=L(G(i)\trailNr)\SpeedY[G(i)\trailSek]
  2880.             G(i)\SMovTyp=1
  2881.           EndIf
  2882.         EndIf
  2883.         If G(i)\Sx<-G(i)\SSpeedX OR G(i)\Sx>319-G(i)\SWidth-G(i)\SSpeedX
  2884.           G(i)\SSpeedX=-G(i)\SSpeedX:G(i)\SStatus=0
  2885.           Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
  2886.         EndIf
  2887.         If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY
  2888.           G(i)\Sy=253-G(i)\SHeight-G(i)\SSpeedY:G(i)\SStatus=0
  2889.           Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
  2890.         EndIf
  2891.         G(i)\trailCounter=G(i)\trailCounter+1
  2892.       EndIf
  2893.       G(i)\Sx=G(i)\Sx+G(i)\SSpeedX
  2894.       G(i)\Sy=G(i)\Sy+G(i)\SSpeedY
  2895.       QBlit db,G(i)\SPict,G(i)\Sx,G(i)\Sy+((G(i)\Sy)ASL2)
  2896.  
  2897. ._NastyFire
  2898.       ; NastyShip fire
  2899.  
  2900.       j.b=Rnd(Lev(0)\NShotSpace[Lev(0)\Counter])
  2901.       If j=0 AND G(i)\Sy<192-G(i)\SHeight
  2902.         j.b=-1
  2903.         Repeat
  2904.           j=j+1
  2905.           If F(j)\Status=0
  2906.             Sound 12,8
  2907.             GS.b=Rnd(4)
  2908.             Select GS
  2909.             Case 0
  2910.              ShotTyp.b=G(i)\WeaponNr1
  2911.             Case 1
  2912.              ShotTyp.b=G(i)\WeaponNr2
  2913.             Case 2
  2914.              ShotTyp.b=G(i)\WeaponNr3
  2915.             Case 3
  2916.              ShotTyp.b=G(i)\WeaponNr4
  2917.             End Select
  2918.             F(j)\  Pict=Nastyshooters(ShotTyp)\Pict
  2919.             F(j)\ Width=Nastyshooters(ShotTyp)\Width
  2920.             F(j)\  Height=Nastyshooters(ShotTyp)\Height
  2921.             F(j)\   WeaponDb=Nastyshooters(ShotTyp)\WeaponDb
  2922.             F(j)\   Typ=Nastyshooters(ShotTyp)\Typ
  2923.             F(j)\Status=1
  2924.             F(j)\     x=G(i)\Sx+G(i)\WXplus
  2925.             F(j)\     y=G(i)\Sy+4
  2926.             F(j)\SpeedX=Rnd(Nastyshooters(ShotTyp)\SpeedX)*(Rnd(2)-1)
  2927.             F(j)\SpeedY=Nastyshooters(ShotTyp)\SpeedY
  2928.             If F(j)\Typ=1
  2929.               Angle.q=QAngle(F(j)\x,F(j)\y,S(0)\Sx+(S(0)\SWidth ASR 1),S(0)\Sy+(S(0)\SHeight ASR 1))
  2930.               Angle=Angle*6.283
  2931.               F(j)\SpeedX=Int(Cos(Angle)*F(j)\SpeedY)
  2932.               F(j)\SpeedY=Int(Sin(Angle)*F(j)\SpeedY)
  2933.             EndIf
  2934.             j=Lev(0)\ShotCount[Lev(0)\Counter]
  2935.           EndIf
  2936.         Until j=Lev(0)\ShotCount[Lev(0)\Counter]
  2937.       EndIf
  2938.     EndIf
  2939.   Until i=Lev(0)\NastyCount[Lev(0)\Counter]
  2940. ;MOVE #$444,$dff180
  2941.  
  2942. ._PlayerShip
  2943. ; movements (Joystick selection) and description of the Shipes
  2944.   If RawStatus(69)=-1 Then Goto TitelPict
  2945.   If RawStatus(25)=-1
  2946.     Repeat
  2947.       starspeed.b=0
  2948.       VWait
  2949.     Until Joyb(1)>0 OR RawStatus(96)=-1
  2950.     starspeed.b=2
  2951.     Fire=1
  2952.   EndIf
  2953.   If Joyx(1)=-1 OR RawStatus(79)=-1 AND S(0)\Sx>S(0)\SSpeed Then S(0)\Sx-S(0)\SSpeed ; links
  2954.   If Joyx(1)=1 OR RawStatus(78)=-1 AND S(0)\Sx<319-S(0)\SWidth-S(0)\SSpeed Then S(0)\Sx+S(0)\SSpeed
  2955.   If Joyb(1)>0 OR RawStatus(96)=-1 AND S(0)\WPause=0 AND Fire.b=0
  2956.     If S(0)\WStatus[0]=0
  2957.       S(0)\WStatus[0]=1:S(0)\Wx[0]=S(0)\Sx+S(0)\WXplus:S(0)\Wy[0]=S(0)\Sy:S(0)\WPause=S(PickShip)\WPause:Fire=1
  2958.       Sound PickShip,1
  2959.     Else
  2960.       If S(0)\WStatus[1]=0
  2961.         S(0)\WStatus[1]=1:S(0)\Wx[1]=S(0)\Sx+S(0)\WXplus:S(0)\Wy[1]=S(0)\Sy:S(0)\WPause=S(PickShip)\WPause:Fire=1
  2962.         Sound PickShip,1
  2963.       EndIf
  2964.     EndIf
  2965.   EndIf
  2966.   If BlitColl(S(0)\SPict,S(0)\Sx,S(0)\Sy+((S(0)\Sy)ASL2)) ; own SpaceShip put Hit ein
  2967.     S(0)\Shield=S(0)\Shield-1
  2968.     If S(0)\Shield>0 AND S(PickShip)\Shield<(S(0)\Shield ASL 2)
  2969.       Sound 7,2
  2970.     Else
  2971.       If S(0)\Shield>0 Then Sound 8,2
  2972.     EndIf
  2973.     expenditure=2
  2974.     If S(0)\Shield=0 ; own SpaceShip destroyed
  2975.       Sound 10,15
  2976.       G(9)\SStatus=2:G(9)\trailCounter=0
  2977.       G(9)\Sx=QLimit(S(0)\Sx+((S(0)\SWidth-32) ASR 1),0,288)
  2978.       G(9)\Sy=QLimit(S(0)\Sy+((S(0)\SHeight-32) ASR 1),0,223)
  2979.     EndIf
  2980.   EndIf
  2981.   If G(9)\SStatus=0 Then QBlit db,S(0)\SPict,S(0)\Sx,S(0)\Sy+((S(0)\Sy)ASL2)
  2982. ;MOVE #$440,$dff180
  2983.  
  2984. ; Admin and description the every Salvos and Hit
  2985.   If S(0)\WStatus[0]=1
  2986.     S(0)\Wy[0]=S(0)\Wy[0]-S(0)\WSpeed
  2987.     If S(0)\Wy[0]<8 Then S(0)\WStatus[0]=0:S(0)\Wy[0]=8
  2988.     If BlitColl(S(0)\WPict,S(0)\Wx[0],S(0)\Wy[0]+((S(0)\Wy[0])LSL2))
  2989.       i.b=-1
  2990.       Repeat
  2991.         i=i+1
  2992.         If G(i)\SStatus=1
  2993.           If ((G(i)\Sx+(G(i)\SWidth ASR 1))/40)=((S(0)\Wx[0]+(S(0)\WWidth ASR 1))/40)
  2994.             If (G(i)\Sy/40)=(S(0)\Wy[0]/40)
  2995.               S(0)\WStatus[0]=0
  2996.               G(i)\Shield=G(i)\Shield-S(0)\Damage
  2997.               Sound 11,4
  2998.               If G(i)\Shield<1
  2999.                 G(i)\SStatus=2:G(i)\trailCounter=0:Points=Points+G(i)\Points:expenditure=2
  3000.                 G(i)\Sx=QLimit(G(i)\Sx+((G(i)\SWidth-32) ASR 1),0,288)
  3001.                 G(i)\Sy=QLimit(G(i)\Sy+((G(i)\SHeight-32) ASR 1),8,224)
  3002.                 Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
  3003.                 Sound 9,4
  3004.               EndIf
  3005.               i=Lev(0)\NastyCount[Lev(0)\Counter]
  3006.             EndIf
  3007.           EndIf
  3008.         EndIf
  3009.       Until i=Lev(0)\NastyCount[Lev(0)\Counter]
  3010.     EndIf
  3011.     QBlit db,S(0)\WPict+(db&S(0)\WeaponDb),S(0)\Wx[0],S(0)\Wy[0]+((S(0)\Wy[0])LSL2)
  3012.   EndIf
  3013.   If S(0)\WStatus[1]=1
  3014.     S(0)\Wy[1]=S(0)\Wy[1]-S(0)\WSpeed
  3015.     If S(0)\Wy[1]<8 Then S(0)\WStatus[1]=0:S(0)\Wy[1]=8
  3016.     If BlitColl(S(0)\WPict,S(0)\Wx[1],S(0)\Wy[1]+((S(0)\Wy[1])LSL2))
  3017.       i.b=-1
  3018.  
  3019. ; Kollishun detekshun makro
  3020.       Repeat
  3021.         i=i+1
  3022.         If G(i)\SStatus=1
  3023.           If ((G(i)\Sx+(G(i)\SWidth ASR 1))/40)=((S(0)\Wx[1]+(S(0)\WWidth ASR 1))/40)
  3024.             If (G(i)\Sy/40)=(S(0)\Wy[1]/40)
  3025.               S(0)\WStatus[1]=0
  3026.               G(i)\Shield=G(i)\Shield-S(0)\Damage
  3027.               Sound 11,4
  3028.               If G(i)\Shield<1
  3029.                 G(i)\SStatus=2:G(i)\trailCounter=0:Points=Points+G(i)\Points:expenditure=2
  3030.                 G(i)\Sx=QLimit(G(i)\Sx+((G(i)\SWidth-32) ASR 1),0,288)
  3031.                 G(i)\Sy=QLimit(G(i)\Sy+((G(i)\SHeight-32) ASR 1),8,223)
  3032.                 Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
  3033.                 Sound 9,4
  3034.               EndIf
  3035.               i=Lev(0)\NastyCount[Lev(0)\Counter]
  3036.             EndIf
  3037.           EndIf
  3038.         EndIf
  3039.       Until i=Lev(0)\NastyCount[Lev(0)\Counter]
  3040.     EndIf
  3041.     QBlit db,S(0)\WPict+(db&S(0)\WeaponDb),S(0)\Wx[1],S(0)\Wy[1]+((S(0)\Wy[1])LSL2)
  3042.   EndIf
  3043. ;MOVE #$040,$dff180
  3044.  
  3045. ; Neue Nastyische Shipe erscheinen
  3046.   If Lev(0)\NastySpace[Lev(0)\Counter]=0 AND Lev(0)\NastyComing[Lev(0)\Counter]>0
  3047.     Lev(0)\NastySpace[Lev(0)\Counter]=Lev(PickLevel)\NastySpace[Lev(0)\Counter]
  3048.     i.b=-1
  3049.     Repeat
  3050.       i=i+1
  3051.       If G(i)\SStatus=0
  3052.         Sound Rnd(2)+13,2
  3053.         Lev(0)\NastyComing[Lev(0)\Counter]=Lev(0)\NastyComing[Lev(0)\Counter]-1
  3054.         GS.b=Rnd(4)
  3055.         Select GS
  3056.         Case 0
  3057.          NastyShip.b=Lev(0)\NastyType1[Lev(0)\Counter]
  3058.         Case 1
  3059.          NastyShip.b=Lev(0)\NastyType2[Lev(0)\Counter]
  3060.         Case 2
  3061.          NastyShip.b=Lev(0)\NastyType3[Lev(0)\Counter]
  3062.         Case 3
  3063.          NastyShip.b=Lev(0)\NastyType4[Lev(0)\Counter]
  3064.         End Select
  3065.         G(i)\      SPict=Nastychoice(NastyShip)\SPict
  3066.         G(i)\     SWidth=Nastychoice(NastyShip)\SWidth
  3067.         G(i)\      SHeight=Nastychoice(NastyShip)\SHeight
  3068.         G(i)\     WXplus=Nastychoice(NastyShip)\WXplus
  3069.         G(i)\    SMovTyp=Nastychoice(NastyShip)\SMovTyp
  3070.         G(i)\       WeaponNr1=Nastychoice(NastyShip)\WeaponNr1
  3071.         G(i)\       WeaponNr2=Nastychoice(NastyShip)\WeaponNr2
  3072.         G(i)\       WeaponNr3=Nastychoice(NastyShip)\WeaponNr3
  3073.         G(i)\       WeaponNr4=Nastychoice(NastyShip)\WeaponNr4
  3074.         G(i)\     Shield=Nastychoice(NastyShip)\Shield
  3075.         G(i)\     Points=Nastychoice(NastyShip)\Points
  3076.         j.b=Rnd(2)
  3077.         If j=0
  3078.           G(i)\SSpeedX=Nastychoice(NastyShip)\SSpeedX
  3079.         Else
  3080.           G(i)\SSpeedX=-(Nastychoice(NastyShip)\SSpeedX)
  3081.         EndIf
  3082.         G(i)\    SSpeedY=Rnd(Nastychoice(NastyShip)\SSpeedY)+1
  3083.         G(i)\  SBorderX1=Nastychoice(NastyShip)\SBorderX1
  3084.         G(i)\  SBorderX2=Nastychoice(NastyShip)\SBorderX2
  3085.         G(i)\  SBorderY1=Nastychoice(NastyShip)\SBorderY1
  3086.         G(i)\  SBorderY2=Nastychoice(NastyShip)\SBorderY2
  3087.         G(i)\     trailNr=Nastychoice(NastyShip)\trailNr
  3088.         G(i)\    SStatus=1
  3089.         G(i)\         Sx=Rnd(320-Nastychoice(NastyShip)\SWidth)
  3090.         G(i)\         Sy=8
  3091.         G(i)\    trailSek=0
  3092.         G(i)\trailCounter=0
  3093.         If G(i)\    SMovTyp=3
  3094.           G(i)\Sx=L(G(i)\trailNr)\x
  3095.           G(i)\Sy=L(G(i)\trailNr)\y
  3096.           G(i)\SSpeedX=L(G(i)\trailNr)\SpeedX
  3097.           G(i)\SSpeedY=L(G(i)\trailNr)\SpeedY
  3098.         EndIf
  3099.         i=Lev(0)\NastyCount[Lev(0)\Counter]
  3100.       EndIf
  3101.     Until i=Lev(0)\NastyCount[Lev(0)\Counter]
  3102.   EndIf
  3103.  
  3104. ; Counter
  3105.   If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
  3106.   If S(0)\WPause>0 Then S(0)\WPause-1 ; Firepause
  3107.   Lev(0)\NastySpace[Lev(0)\Counter]-1 ; Counter for new Nastys
  3108.   If Lev(0)\NastyComing[Lev(0)\Counter]<1
  3109.     If Lev(0)\NastyKilled[Lev(0)\Counter]<1
  3110.       i.b=-1:j.b=0
  3111.       Repeat
  3112.         i+1
  3113.         If G(i)\SStatus>0 Then j=1
  3114.       Until i=Lev(0)\NastyCount[Lev(0)\Counter]
  3115.       i.b=-1
  3116.       Repeat
  3117.         i+1
  3118.         If F(i)\Status=1 Then j=1
  3119.       Until i=Lev(0)\ShotCount[Lev(0)\Counter]
  3120.       If j=0
  3121.         Lev(0)\Counter=Lev(0)\Counter+1
  3122.         If Lev(0)\NastyComing[Lev(0)\Counter]=0 Then Goto Levelende
  3123.       EndIf
  3124.     EndIf
  3125.   EndIf
  3126.  
  3127. ;Poke.w $dff180,Flc
  3128.  
  3129.  
  3130. Goto Mainpart
  3131.  
  3132. .Levelende:
  3133.  
  3134. If PickLevel=1
  3135.   LevelStatus(0)=0
  3136.   LevelStatus(1)=1
  3137.   LevelStatus(2)=1
  3138.   LevelStatus(3)=1
  3139.   ShipStatus(1)=1
  3140. EndIf
  3141. If PickLevel=2 OR PickLevel=3 OR PickLevel=4
  3142.   LevelStatus(PickLevel-1)=0
  3143.   If ShipStatus(2)=2
  3144.     ShipStatus(2)=1
  3145.   Else
  3146.     If ShipStatus(3)=2
  3147.       ShipStatus(3)=1
  3148.     Else
  3149.       If ShipStatus(4)=2
  3150.         ShipStatus(4)=2
  3151.       EndIf
  3152.     EndIf
  3153.   EndIf
  3154.   If LevelStatus(1)=0 AND LevelStatus(2)=0 AND LevelStatus(3)=0
  3155.     LevelStatus(4)=1
  3156.     ShipStatus(4)=1
  3157.   EndIf
  3158. EndIf
  3159. If PickLevel=5 Then LevelStatus(4)=0:LevelStatus(5)=1
  3160. If PickLevel=6 Then LevelStatus(5)=0:Gosub Endsequence
  3161.  
  3162. DisplayBitMap 0,2
  3163. DisplayPalette 0,0
  3164. Use BitMap 0
  3165. Cls
  3166. VWait 2
  3167. BitMapOutput #txt
  3168. Select PickLevel
  3169. Case 1
  3170. PLoc{0,00," Great work!  Our carrier will meet you"}
  3171. PLoc{0,01,"                shortly.               "}
  3172. PLoc{0,02,"                                       "}
  3173. PLoc{0,03,"  Your scanners show us the planetoid  "}
  3174. PLoc{0,04,"    is in fact an enormous starship.   "}
  3175. PLoc{0,05,"   The darkside must have a large ion  "}
  3176. PLoc{0,06,"   pulse driver moving it toward us.   "}
  3177. PLoc{0,07,"                                       "}
  3178. PLoc{0,08,"   There are radio messages from the   "}
  3179. PLoc{0,09,"    surface.  They're in Terran and    "}
  3180. PLoc{0,10,"          Gretchin languages.          "}
  3181. PLoc{0,11,"                                       "}
  3182. PLoc{0,12,"    We were at war with the Gretchin   "}
  3183. PLoc{0,13,"species long ago, but we've lived with "}
  3184. PLoc{0,14,"them peacefully for the past 200 years."}
  3185. PLoc{0,15,"                                       "}
  3186. PLoc{0,16,"   We can't call for help because the  "}
  3187. PLoc{0,17,"  communication system on New Port has "}
  3188. PLoc{0,18," been sabotaged, so we're launching an "}
  3189. PLoc{0,19,"             attack.  YOU.             "}
  3190. PLoc{0,20,"                                       "}
  3191. PLoc{0,21," The planetoid is protected by a shield"}
  3192. PLoc{0,22,"   held by three generators in space.  "}
  3193. PLoc{0,23,"                                       "}
  3194. PLoc{0,24,"  You have to destroy these generators "}
  3195. PLoc{0,25,"  first.  Attack their defenders, then "}
  3196. PLoc{0,26,"       shoot down the generator.       "}
  3197. PLoc{0,27,"                                       "}
  3198. PLoc{0,28,"        You are our best pilot!        "}
  3199. PLoc{0,29,"                                       "}
  3200. PLoc{0,30,"         PRESS FIRE TO CONTINUE        "}
  3201. Case 5
  3202. PLoc{0,10,"           MISSION COMPLETE!           "}
  3203. PLoc{0,12,"              IT'S TIME.               "}
  3204. PLoc{0,13," COME BACK TO THE CARRIER AND PREPARE  "}
  3205. PLoc{0,14,"    YOUR SHIP FOR THE FINAL BATTLE!    "}
  3206. PLoc{0,20,"         PRESS FIRE TO CONTINUE        "}
  3207. Case 6
  3208. PLoc{0,00,"   You have destroyed the evil brain.  "}
  3209. PLoc{0,01,"                                       "}
  3210. PLoc{0,02,"  Our carrier fired torpedos into the  "}
  3211. PLoc{0,03," planetoids ion-drivers and it exploded"}
  3212. PLoc{0,04,"         brighter than the sun.        "}
  3213. PLoc{0,05,"                                       "}
  3214. PLoc{0,06,"After repairing communications, we were"}
  3215. PLoc{0,07," contacted by other sun-systems and the"}
  3216. PLoc{0,08,"      head of the Gretchin-Empire.     "}
  3217. PLoc{0,09,"                                       "}
  3218. PLoc{0,10,"  We discovered the human and gretchin "}
  3219. PLoc{0,11," attackers were followers of a strange "}
  3220. PLoc{0,12,"  sect that disappeared five years ago "}
  3221. PLoc{0,13,"  with a fleet of stolen battleships.  "}
  3222. PLoc{0,14,"                                       "}
  3223. PLoc{0,15,"  Then there was a THIRD craft.  Were  "}
  3224. PLoc{0,16,"  there unknown aliens in those ships? "}
  3225. PLoc{0,17,"                                       "}
  3226. PLoc{0,18,"     We found no wreckage of them.     "}
  3227. PLoc{0,19,"                                       "}
  3228. PLoc{0,20," Are there intelligent beings out there"}
  3229. PLoc{0,21," manipulating us to destroy ourselves? "}
  3230. PLoc{0,22,"We don't know, but in future we'll work"}
  3231. PLoc{0,23,"  with the Gretchin-Empire to prevent  "}
  3232. PLoc{0,24,"            further attacks.           "}
  3233. PLoc{0,25,"                                       "}
  3234. PLoc{0,26," And now special thanks to you, pilot. "}
  3235. PLoc{0,27,"   You saved the people of New Port.   "}
  3236. PLoc{0,28,"          T H A N K   Y O U .          "}
  3237. PLoc{0,29,"                                       "}
  3238. PLoc{0,30,"        PRESS FIRE TO CONTINUE         "}
  3239. Default
  3240. PLoc{0,10,"           MISSION COMPLETE!           "}
  3241. PLoc{0,11,"                                       "}
  3242. PLoc{0,12,"   YOU TOOK OUT THE DEFENCE PERFECTLY  "}
  3243. PLoc{0,13,"    AND BLEW UP THE SHIELD-GENERATOR!  "}
  3244. PLoc{0,14,"                                       "}
  3245. PLoc{0,15,"           CONGRATULATIONS!            "}
  3246. PLoc{0,20,"         PRESS FIRE TO CONTINUE        "}
  3247. End Select
  3248.  
  3249. Fire.b=1
  3250. Repeat
  3251.   VWait
  3252.   If RawStatus(69)=-1
  3253.     For k.b=0 To 30
  3254.     PLoc{0,k,"                                        "}
  3255.     Next k
  3256.     Goto TitelPict
  3257.   EndIf
  3258.   If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0
  3259.     For k.b=0 To 30
  3260.     PLoc{0,k,"                                        "}
  3261.     Next k
  3262.     If PickLevel=6
  3263.       Sound 11,12
  3264.       PLoc{0,6,"          YOU PLAYED A GAME BY          "}
  3265.       PLoc{0,8,"     MICHAEL ROSSKOPF & WIREMU TEKANI   "}
  3266.       PLoc{0,12,"      ADDITIONAL STARSHIP-DESIGN:       "}
  3267.       PLoc{0,14,"      MARCO CHRIST & WIREMU TEKANI      "}
  3268.       PLoc{0,18,"   EMAIL ME: Michael_Rosskopf@gmx.de    "}
  3269.       PLoc{0,19,"             Wtekani@netscape.net       "}
  3270.       PLoc{0,22,"         PRESS FIRE TO CONTINUE         "}
  3271.  
  3272.       Fire.b=1
  3273.       Repeat
  3274.         VWait
  3275.         If RawStatus(69)=-1
  3276.           For k.b=0 To 30
  3277.           PLoc{0,k,"                                        "}
  3278.           Next k
  3279.           Goto TitelPict
  3280.         EndIf
  3281.         If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0
  3282.           For k.b=0 To 30
  3283.           PLoc{0,k,"                                        "}
  3284.           Next k
  3285.           Goto Highscore ; Play Speedafft
  3286.         EndIf
  3287.         If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
  3288.       Forever
  3289.     EndIf
  3290.     Goto Levelstart
  3291.   EndIf
  3292.   If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
  3293. Forever
  3294.  
  3295.  
  3296.  
  3297. .Ship_lost:
  3298.  
  3299. ShipStatus(PickShip-1)=0
  3300.  
  3301. i.b=-1:j.b=0
  3302. Repeat
  3303.   i=i+1
  3304.   If ShipStatus(i)=1 Then j=j+1
  3305. Until i=4
  3306.  
  3307. DisplayBitMap 0,2
  3308. DisplayPalette 0,0
  3309. Use BitMap 0
  3310. BitMapOutput #txt
  3311. Clear{}
  3312.  
  3313. If j=0
  3314.   PLoc{0,10,"              YOU FAILED                "}
  3315.   PLoc{0,12,"           G A M E   O V E R            "}
  3316.   PLoc{0,20,"        PRESS FIRE TO CONTINUE          "}
  3317. Else
  3318.   PLoc{0,10,"     YOUR SHIP HAS BEEN DESTROYED!      "}
  3319.   PLoc{0,12,"   YOU HAVE TO FLY THE MISSION AGAIN!   "}
  3320.   PLoc{0,20,"        PRESS FIRE TO CONTINUE          "}
  3321. EndIf
  3322. Fire.b=1
  3323. Repeat
  3324.   VWait
  3325.   If RawStatus(69)=-1
  3326.     For k.b=0 To 30
  3327.     PLoc{0,k,"                                        "}
  3328.     Next k
  3329.     Goto TitelPict
  3330.   EndIf
  3331.   If RawStatus(96)=-1 OR Joyb(1)>0 AND Fire=0
  3332.     For k.b=0 To 30
  3333.     PLoc{0,k,"                                        "}
  3334.     Next k
  3335.     If j=0 Then Goto Highscore ; GameOver
  3336.     Goto Levelstart
  3337.   EndIf
  3338.   If i>0 Then i=i-1
  3339.   If Joyb(1)=0 AND RawStatus(96)=0 Then Fire=0
  3340. Forever
  3341.  
  3342. Goto Levelstart
  3343.  
  3344.  
  3345.  
  3346. .Highscore:
  3347. If Points>=HighscorePoints(4)
  3348.   Sound 11,12
  3349.   PLoc{0,10,"        YOU MADE THE HIGHSCORE!         "}
  3350.   PLoc{0,12,"        PLEASE ENTER YOUR NAME!         "}
  3351.   PLoc{15,14,">"}:PLoc{24,14,"<"}
  3352.   BitMapInput
  3353.   Locate 16,14:HighscoreName$=Edit$(8)
  3354.   If Points>=HighscorePoints(4) Then Platz.b=4
  3355.   If Points>=HighscorePoints(3) Then Platz.b=3
  3356.   If Points>=HighscorePoints(2) Then Platz.b=2
  3357.   If Points>=HighscorePoints(1) Then Platz.b=1
  3358.   If Points>=HighscorePoints(0) Then Platz.b=0
  3359.   For i.b=4 To Platz Step -1
  3360.     If i>0
  3361.       HighscoreNamen$(i)=HighscoreNamen$(i-1)
  3362.       HighscorePoints(i)=HighscorePoints(i-1)
  3363.       HighscoreLevel(i)=HighscoreLevel(i-1)
  3364.     EndIf
  3365.   Next i
  3366.   HighscoreNamen$(Platz)=HighscoreName$
  3367.   HighscorePoints(Platz)=Points
  3368.   If PickLevel=1 HighscoreLevel(Platz)=0
  3369.   If PickLevel=2 OR PickLevel=3 OR PickLevel=4
  3370.     HighscoreLevel(Platz)=1
  3371.     If LevelStatus(1)=0 Then HighscoreLevel(Platz)=HighscoreLevel(Platz)+1
  3372.     If LevelStatus(2)=0 Then HighscoreLevel(Platz)=HighscoreLevel(Platz)+1
  3373.     If LevelStatus(3)=0 Then HighscoreLevel(Platz)=HighscoreLevel(Platz)+1
  3374.   EndIf
  3375.   If PickLevel=5 HighscoreLevel(Platz)=4
  3376.   If PickLevel=6 HighscoreLevel(Platz)=5
  3377.   If PickLevel=6 AND LevelStatus(5)=0 Then HighscoreLevel(Platz)=6
  3378.   Pictcurrent.w=399
  3379. Else
  3380.   Pictcurrent.w=-1
  3381. EndIf
  3382. Goto TitelPict
  3383.  
  3384. .Endsequence
  3385. DisplayPalette 0,0
  3386.  
  3387. UnQueue 0
  3388. UnQueue 1
  3389. BitMapOutput #txt
  3390. PLoc{0,0,"                                        "}
  3391. BitMapOutput #txt+1
  3392. PLoc{0,0,"                                        "}
  3393. BitMapOutput #txt
  3394. DisplayBitMap 0,2
  3395. PLoc{0,10,"         NOW YOU'VE ANNIHILATED         "}
  3396. PLoc{0,12,"             THE EVIL BRAIN             "}
  3397. PLoc{0,14,"         THE REMAINING ENEMIES          "}
  3398. PLoc{0,16,"         FLEE IN A BLIND PANIC!         "}
  3399.  
  3400. Pictcurrent.w=-1
  3401. Repeat
  3402.   VWait
  3403.   Pictcurrent=Pictcurrent+1
  3404. Until Pictcurrent>400
  3405. For k.b=0 To 30
  3406. PLoc{0,k,"                                        "}
  3407. Next k
  3408. PalRGB 0,0,0,0,0
  3409. DisplayPalette 0,0
  3410.  
  3411. For i.b=0 To 9
  3412.   G(i)\SStatus=0
  3413.   F(i)\Status=0
  3414. Next i
  3415.  
  3416. j.b=0:k.b=0
  3417. Repeat
  3418.   VWait
  3419.   DisplayBitMap 0,2+db:db=1-db:Use BitMap db
  3420.   UnQueue db
  3421.  
  3422.   j=j+1
  3423.  
  3424.   i.b=-1
  3425.   Repeat
  3426.     i=i+1
  3427.     If G(i)\SStatus=1
  3428.       If G(i)\Sx<-G(i)\SSpeedX OR G(i)\Sx>319-G(i)\SWidth-G(i)\SSpeedX Then G(i)\SSpeedX=-G(i)\SSpeedX
  3429.       If G(i)\Sy>253-G(i)\SHeight-G(i)\SSpeedY
  3430.         G(i)\Sy=253-G(i)\SHeight-G(i)\SSpeedY:G(i)\SStatus=0
  3431.         Lev(0)\NastyKilled[Lev(0)\Counter]=Lev(0)\NastyKilled[Lev(0)\Counter]-1
  3432.       EndIf
  3433.       G(i)\Sx=G(i)\Sx+G(i)\SSpeedX
  3434.       G(i)\Sy=G(i)\Sy+G(i)\SSpeedY
  3435.       QBlit db,G(i)\SPict,G(i)\Sx,G(i)\Sy+((G(i)\Sy)LSL2)
  3436.     EndIf
  3437.   Until i=4
  3438.  
  3439.  
  3440.   If j=0 AND k<35
  3441.     i.b=-1
  3442.     Repeat
  3443.       i=i+1
  3444.       If G(i)\SStatus=0
  3445.         Sound Rnd(2)+13,2
  3446.         NastyShip.b=k
  3447.         k=k+1
  3448.         G(i)\      SPict=Nastychoice(NastyShip)\SPict
  3449.         G(i)\     SWidth=Nastychoice(NastyShip)\SWidth
  3450.         G(i)\      SHeight=Nastychoice(NastyShip)\SHeight
  3451.         j.b=Rnd(2)
  3452.         If j=0
  3453.           G(i)\SSpeedX=Rnd(2)+1
  3454.         Else
  3455.           G(i)\SSpeedX=-Rnd(2)+1
  3456.         EndIf
  3457.         G(i)\    SSpeedY=Rnd(2)+1
  3458.         G(i)\  SBorderX1=Nastychoice(NastyShip)\SBorderX1
  3459.         G(i)\  SBorderX2=Nastychoice(NastyShip)\SBorderX2
  3460.         G(i)\  SBorderY1=Nastychoice(NastyShip)\SBorderY1
  3461.         G(i)\  SBorderY2=Nastychoice(NastyShip)\SBorderY2
  3462.         G(i)\    SStatus=1
  3463.         G(i)\         Sx=Rnd(320-Nastychoice(NastyShip)\SWidth)
  3464.         G(i)\         Sy=0
  3465.         i=4
  3466.       EndIf
  3467.     Until i=4
  3468.   EndIf
  3469.  
  3470. If j=48 Then j=-1
  3471.  
  3472. Until G(0)\SStatus=0 AND G(1)\SStatus=0 AND G(2)\SStatus=0 AND G(3)\SStatus=0 AND G(4)\SStatus=0 AND k=35
  3473.  
  3474. k.b=0:j.b=0
  3475. Repeat
  3476. starspeed=0
  3477.   VWait
  3478.   DisplayPalette 0,1
  3479.   DisplayBitMap 0,2+db:db=1-db:Use BitMap db
  3480.   UnQueue db
  3481.  
  3482.   j=j+1
  3483.   QBlit db,110,92,275
  3484.  
  3485.   i.b=-1
  3486.   Repeat
  3487.     i=i+1
  3488.     If G(i)\SStatus=2
  3489.       QBlit db,G(i)\trailCounter,G(i)\Sx,G(i)\Sy+((G(i)\Sy)LSL2)
  3490.       G(i)\trailCounter=G(i)\trailCounter+1
  3491.       If G(i)\trailCounter=25 Then G(i)\SStatus=0
  3492.     EndIf
  3493.   Until i=8
  3494.  
  3495.   If j=0
  3496.     i.b=-1
  3497.     Repeat
  3498.       i=i+1
  3499.       If G(i)\SStatus=0
  3500.         Sound 9,Rnd(15)+1
  3501.         G(i)\SStatus=2
  3502.         G(i)\trailCounter=0
  3503.         G(i)\Sx=Rnd(93)+92
  3504.         G(i)\Sy=Rnd(103)+55
  3505.         k=k+1
  3506.         i=(k/14)
  3507.       EndIf
  3508.     Until i=(k/14)
  3509.   EndIf
  3510.  
  3511.   If j=2 Then j=-1
  3512.  
  3513. Until k=127
  3514.  
  3515. PalRGB 2,0,15,15,15
  3516. DisplayPalette 0,2
  3517. Sound 10,15
  3518. UnQueue 0:UnQueue 1
  3519.  
  3520. i.b=16
  3521. Repeat
  3522.   VWait(10)
  3523.   i=i-1
  3524.   For i2=0 To 31
  3525.   PalRGB 2,i2,i,i,i
  3526.   Next i2
  3527.   DisplayPalette 0,2
  3528. Until i=0
  3529.  
  3530. DisplayPalette 0,0
  3531. starspeed=2
  3532. Return
  3533.  
  3534. .Ende:
  3535.     AMIGA
  3536.     Zugriff.b=OpenFile(0,"Galagawars.Highscore")
  3537.      Fields 0,HighscoreNamen$(0)
  3538.      Fields 0,HighscoreNamen$(1)
  3539.      Fields 0,HighscoreNamen$(2)
  3540.      Fields 0,HighscoreNamen$(3)
  3541.      Fields 0,HighscoreNamen$(4)
  3542.      Fields 0,HighscorePoints(0)
  3543.      Fields 0,HighscorePoints(1)
  3544.      Fields 0,HighscorePoints(2)
  3545.      Fields 0,HighscorePoints(3)
  3546.      Fields 0,HighscorePoints(4)
  3547.      Fields 0,HighscoreLevel(0)
  3548.      Fields 0,HighscoreLevel(1)
  3549.      Fields 0,HighscoreLevel(2)
  3550.      Fields 0,HighscoreLevel(3)
  3551.      Fields 0,HighscoreLevel(4)
  3552.      Put 0,0
  3553.      CloseFile 0
  3554.     End
  3555.  
  3556. .Binaries
  3557. .b_allshapes
  3558. IncBin "stl:gwars/allshapes.int"
  3559. .bpalt0
  3560. IncBin "stl:gwars/P1"
  3561. .bpalt1
  3562. IncBin "stl:gwars/P2"
  3563. ; Soundloader
  3564. s0: IncBin "GalagaWars:Sounds/Intro"
  3565. s1: IncBin "GalagaWars:Sounds/Laser"
  3566. s2: IncBin "GalagaWars:Sounds/Ion"
  3567. s3: IncBin "GalagaWars:Sounds/SchwererLaser"
  3568. s4: IncBin "GalagaWars:Sounds/Plasma"
  3569. s5: IncBin "GalagaWars:Sounds/Torpedo"
  3570. s6: IncBin "GalagaWars:Sounds/Start"
  3571. s7: IncBin "GalagaWars:Sounds/Alarm1"
  3572. s8: IncBin "GalagaWars:Sounds/Alarm2"
  3573. s9: IncBin "GalagaWars:Sounds/Explosion1"
  3574. sa: IncBin "GalagaWars:Sounds/Explosion2"
  3575. sb: IncBin "GalagaWars:Sounds/Treffer"
  3576. sc: IncBin "GalagaWars:Sounds/Feuer"
  3577. sd: IncBin "GalagaWars:Sounds/Jet1"
  3578. se: IncBin "GalagaWars:Sounds/Jet2"
  3579.  
  3580. ;LoadBlitzFont 0,"2001.font"
  3581. ; Players attributes
  3582.  
  3583. Even
  3584. star_speeds:
  3585. Dc.b    41,53,61,23,21,81,25,26,03,37,24,15,26,39,08,42
  3586. Dc.b    51,84,95,70,42,63,36,25,14,09,22,31,55,66,81,62
  3587. Dc.b    05,81,94,57,68,39,46,23,22,51,64,15,76,88,05,32
  3588. Dc.b    51,14,85,88,44,11,65,50,12,25,54,14,62,35,57,44
  3589.  
  3590.